summaryrefslogtreecommitdiff
path: root/app/services/clusters/gcp/fetch_operation_service.rb
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2017-11-06 22:38:35 +0100
committerKamil Trzcinski <ayufan@ayufan.eu>2017-11-06 22:38:35 +0100
commit7599009c2726bfdbd73da360961e4d8611641b02 (patch)
tree1578ea9216c4430e2d5d5043edc85f445716c28b /app/services/clusters/gcp/fetch_operation_service.rb
parentc708931a327edcc70b92be7fcddb84fbbe2c0394 (diff)
parent83c3c19ce5eb6a88cd9ed428fa0f8d68d5fa7167 (diff)
downloadgitlab-ce-7599009c2726bfdbd73da360961e4d8611641b02.tar.gz
Merge remote-tracking branch 'origin/move-kubernetes-from-service-to-clusters-page-10-2-ver' into 35616-move-gke-form-1st-iteration
Diffstat (limited to 'app/services/clusters/gcp/fetch_operation_service.rb')
-rw-r--r--app/services/clusters/gcp/fetch_operation_service.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/services/clusters/gcp/fetch_operation_service.rb b/app/services/clusters/gcp/fetch_operation_service.rb
new file mode 100644
index 00000000000..a4cd3ca5c11
--- /dev/null
+++ b/app/services/clusters/gcp/fetch_operation_service.rb
@@ -0,0 +1,16 @@
+module Clusters
+ module Gcp
+ class FetchOperationService
+ def execute(provider)
+ operation = provider.api_client.projects_zones_operations(
+ provider.gcp_project_id,
+ provider.zone,
+ provider.operation_id)
+
+ yield(operation) if block_given?
+ rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
+ provider.make_errored!("Failed to request to CloudPlatform; #{e.message}")
+ end
+ end
+ end
+end