Read about our upcoming Code of Conduct on this issue

fetch_gcp_operation_service.rb 561 Bytes
Newer Older
1
2
3
module Ci
  class FetchGcpOperationService
    def execute(cluster)
4
      api_client =
5
6
7
8
9
10
11
12
13
        GoogleApi::CloudPlatform::Client.new(cluster.gcp_token, nil)

      operation = api_client.projects_zones_operations(
        cluster.gcp_project_id,
        cluster.gcp_cluster_zone,
        cluster.gcp_operation_id)

      yield(operation) if block_given?
    rescue Google::Apis::ServerError, Google::Apis::ClientError, Google::Apis::AuthorizationError => e
14
      return cluster.make_errored!("Failed to request to CloudPlatform; #{e.message}")
15
16
17
    end
  end
end