lib/google/cloud/dataproc/v1/job_controller_client.rb in google-cloud-dataproc-0.1.0 vs lib/google/cloud/dataproc/v1/job_controller_client.rb in google-cloud-dataproc-0.2.0

- old
+ new

@@ -1,6 +1,6 @@ -# Copyright 2017 Google LLC +# Copyright 2018 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # @@ -16,21 +16,18 @@ # This file was generated from the file # https://github.com/googleapis/googleapis/blob/master/google/cloud/dataproc/v1/jobs.proto, # and updates to that file get reflected here through a refresh process. # For the short term, the refresh process will only be runnable by Google # engineers. -# -# The only allowed edits are to method and file documentation. A 3-way -# merge preserves those additions if the generated source changes. require "json" require "pathname" require "google/gax" require "google/cloud/dataproc/v1/jobs_pb" -require "google/cloud/dataproc/credentials" +require "google/cloud/dataproc/v1/credentials" module Google module Cloud module Dataproc module V1 @@ -45,10 +42,13 @@ SERVICE_ADDRESS = "dataproc.googleapis.com".freeze # The default port of the service. DEFAULT_SERVICE_PORT = 443 + # The default set of gRPC interceptors. + GRPC_INTERCEPTORS = [] + DEFAULT_TIMEOUT = 30 PAGE_DESCRIPTORS = { "list_jobs" => Google::Gax::PageDescriptor.new( "page_token", @@ -87,27 +87,34 @@ # Google::Gax#construct_settings for the structure of # this data. Falls back to the default config if not specified # or the specified config is missing data points. # @param timeout [Numeric] # The default timeout, in seconds, for calls made through this client. + # @param metadata [Hash] + # Default metadata to be sent with each request. This can be overridden on a per call basis. + # @param exception_transformer [Proc] + # An optional proc that intercepts any exceptions raised during an API call to inject + # custom error handling. def initialize \ credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, + metadata: nil, + exception_transformer: nil, lib_name: nil, lib_version: "" # These require statements are intentionally placed here to initialize # the gRPC module only when it's required. # See https://github.com/googleapis/toolkit/issues/446 require "google/gax/grpc" require "google/cloud/dataproc/v1/jobs_services_pb" - credentials ||= Google::Cloud::Dataproc::Credentials.default + credentials ||= Google::Cloud::Dataproc::V1::Credentials.default if credentials.is_a?(String) || credentials.is_a?(Hash) - updater_proc = Google::Cloud::Dataproc::Credentials.new(credentials).updater_proc + updater_proc = Google::Cloud::Dataproc::V1::Credentials.new(credentials).updater_proc end if credentials.is_a?(GRPC::Core::Channel) channel = credentials end if credentials.is_a?(GRPC::Core::ChannelCredentials) @@ -127,10 +134,11 @@ google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}" google_api_client << " grpc/#{GRPC::VERSION}" google_api_client.freeze headers = { :"x-goog-api-client" => google_api_client } + headers.merge!(metadata) unless metadata.nil? client_config_file = Pathname.new(__dir__).join( "job_controller_client_config.json" ) defaults = client_config_file.open do |f| Google::Gax.construct_settings( @@ -139,50 +147,58 @@ client_config, Google::Gax::Grpc::STATUS_CODE_NAMES, timeout, page_descriptors: PAGE_DESCRIPTORS, errors: Google::Gax::Grpc::API_ERRORS, - kwargs: headers + metadata: headers ) end # Allow overriding the service path/port in subclasses. service_path = self.class::SERVICE_ADDRESS port = self.class::DEFAULT_SERVICE_PORT + interceptors = self.class::GRPC_INTERCEPTORS @job_controller_stub = Google::Gax::Grpc.create_stub( service_path, port, chan_creds: chan_creds, channel: channel, updater_proc: updater_proc, scopes: scopes, + interceptors: interceptors, &Google::Cloud::Dataproc::V1::JobController::Stub.method(:new) ) @submit_job = Google::Gax.create_api_call( @job_controller_stub.method(:submit_job), - defaults["submit_job"] + defaults["submit_job"], + exception_transformer: exception_transformer ) @get_job = Google::Gax.create_api_call( @job_controller_stub.method(:get_job), - defaults["get_job"] + defaults["get_job"], + exception_transformer: exception_transformer ) @list_jobs = Google::Gax.create_api_call( @job_controller_stub.method(:list_jobs), - defaults["list_jobs"] + defaults["list_jobs"], + exception_transformer: exception_transformer ) @update_job = Google::Gax.create_api_call( @job_controller_stub.method(:update_job), - defaults["update_job"] + defaults["update_job"], + exception_transformer: exception_transformer ) @cancel_job = Google::Gax.create_api_call( @job_controller_stub.method(:cancel_job), - defaults["cancel_job"] + defaults["cancel_job"], + exception_transformer: exception_transformer ) @delete_job = Google::Gax.create_api_call( @job_controller_stub.method(:delete_job), - defaults["delete_job"] + defaults["delete_job"], + exception_transformer: exception_transformer ) end # Service calls @@ -198,33 +214,43 @@ # A hash of the same form as `Google::Cloud::Dataproc::V1::Job` # can also be provided. # @param options [Google::Gax::CallOptions] # Overrides the default settings for this call, e.g, timeout, # retries, etc. + # @yield [result, operation] Access the result along with the RPC operation + # @yieldparam result [Google::Cloud::Dataproc::V1::Job] + # @yieldparam operation [GRPC::ActiveCall::Operation] # @return [Google::Cloud::Dataproc::V1::Job] # @raise [Google::Gax::GaxError] if the RPC is aborted. # @example - # require "google/cloud/dataproc/v1" + # require "google/cloud/dataproc" # - # job_controller_client = Google::Cloud::Dataproc::V1::JobController.new + # job_controller_client = Google::Cloud::Dataproc::JobController.new(version: :v1) + # + # # TODO: Initialize +project_id+: # project_id = '' + # + # # TODO: Initialize +region+: # region = '' + # + # # TODO: Initialize +job+: # job = {} # response = job_controller_client.submit_job(project_id, region, job) def submit_job \ project_id, region, job, - options: nil + options: nil, + &block req = { project_id: project_id, region: region, job: job }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Dataproc::V1::SubmitJobRequest) - @submit_job.call(req, options) + @submit_job.call(req, options, &block) end # Gets the resource representation for a job in a project. # # @param project_id [String] @@ -235,33 +261,43 @@ # @param job_id [String] # Required. The job ID. # @param options [Google::Gax::CallOptions] # Overrides the default settings for this call, e.g, timeout, # retries, etc. + # @yield [result, operation] Access the result along with the RPC operation + # @yieldparam result [Google::Cloud::Dataproc::V1::Job] + # @yieldparam operation [GRPC::ActiveCall::Operation] # @return [Google::Cloud::Dataproc::V1::Job] # @raise [Google::Gax::GaxError] if the RPC is aborted. # @example - # require "google/cloud/dataproc/v1" + # require "google/cloud/dataproc" # - # job_controller_client = Google::Cloud::Dataproc::V1::JobController.new + # job_controller_client = Google::Cloud::Dataproc::JobController.new(version: :v1) + # + # # TODO: Initialize +project_id+: # project_id = '' + # + # # TODO: Initialize +region+: # region = '' + # + # # TODO: Initialize +job_id+: # job_id = '' # response = job_controller_client.get_job(project_id, region, job_id) def get_job \ project_id, region, job_id, - options: nil + options: nil, + &block req = { project_id: project_id, region: region, job_id: job_id }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Dataproc::V1::GetJobRequest) - @get_job.call(req, options) + @get_job.call(req, options, &block) end # Lists regions/{region}/jobs in a project. # # @param project_id [String] @@ -299,21 +335,28 @@ # # status.state = ACTIVE AND labels.env = staging AND labels.starred = * # @param options [Google::Gax::CallOptions] # Overrides the default settings for this call, e.g, timeout, # retries, etc. + # @yield [result, operation] Access the result along with the RPC operation + # @yieldparam result [Google::Gax::PagedEnumerable<Google::Cloud::Dataproc::V1::Job>] + # @yieldparam operation [GRPC::ActiveCall::Operation] # @return [Google::Gax::PagedEnumerable<Google::Cloud::Dataproc::V1::Job>] # An enumerable of Google::Cloud::Dataproc::V1::Job instances. # See Google::Gax::PagedEnumerable documentation for other # operations such as per-page iteration or access to the response # object. # @raise [Google::Gax::GaxError] if the RPC is aborted. # @example - # require "google/cloud/dataproc/v1" + # require "google/cloud/dataproc" # - # job_controller_client = Google::Cloud::Dataproc::V1::JobController.new + # job_controller_client = Google::Cloud::Dataproc::JobController.new(version: :v1) + # + # # TODO: Initialize +project_id+: # project_id = '' + # + # # TODO: Initialize +region+: # region = '' # # # Iterate over all results. # job_controller_client.list_jobs(project_id, region).each do |element| # # Process element. @@ -332,21 +375,22 @@ region, page_size: nil, cluster_name: nil, job_state_matcher: nil, filter: nil, - options: nil + options: nil, + &block req = { project_id: project_id, region: region, page_size: page_size, cluster_name: cluster_name, job_state_matcher: job_state_matcher, filter: filter }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Dataproc::V1::ListJobsRequest) - @list_jobs.call(req, options) + @list_jobs.call(req, options, &block) end # Updates a job in a project. # # @param project_id [String] @@ -370,39 +414,53 @@ # A hash of the same form as `Google::Protobuf::FieldMask` # can also be provided. # @param options [Google::Gax::CallOptions] # Overrides the default settings for this call, e.g, timeout, # retries, etc. + # @yield [result, operation] Access the result along with the RPC operation + # @yieldparam result [Google::Cloud::Dataproc::V1::Job] + # @yieldparam operation [GRPC::ActiveCall::Operation] # @return [Google::Cloud::Dataproc::V1::Job] # @raise [Google::Gax::GaxError] if the RPC is aborted. # @example - # require "google/cloud/dataproc/v1" + # require "google/cloud/dataproc" # - # job_controller_client = Google::Cloud::Dataproc::V1::JobController.new + # job_controller_client = Google::Cloud::Dataproc::JobController.new(version: :v1) + # + # # TODO: Initialize +project_id+: # project_id = '' + # + # # TODO: Initialize +region+: # region = '' + # + # # TODO: Initialize +job_id+: # job_id = '' + # + # # TODO: Initialize +job+: # job = {} + # + # # TODO: Initialize +update_mask+: # update_mask = {} # response = job_controller_client.update_job(project_id, region, job_id, job, update_mask) def update_job \ project_id, region, job_id, job, update_mask, - options: nil + options: nil, + &block req = { project_id: project_id, region: region, job_id: job_id, job: job, update_mask: update_mask }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Dataproc::V1::UpdateJobRequest) - @update_job.call(req, options) + @update_job.call(req, options, &block) end # Starts a job cancellation request. To access the job resource # after cancellation, call # [regions/{region}/jobs.list](https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs/list) or @@ -416,33 +474,43 @@ # @param job_id [String] # Required. The job ID. # @param options [Google::Gax::CallOptions] # Overrides the default settings for this call, e.g, timeout, # retries, etc. + # @yield [result, operation] Access the result along with the RPC operation + # @yieldparam result [Google::Cloud::Dataproc::V1::Job] + # @yieldparam operation [GRPC::ActiveCall::Operation] # @return [Google::Cloud::Dataproc::V1::Job] # @raise [Google::Gax::GaxError] if the RPC is aborted. # @example - # require "google/cloud/dataproc/v1" + # require "google/cloud/dataproc" # - # job_controller_client = Google::Cloud::Dataproc::V1::JobController.new + # job_controller_client = Google::Cloud::Dataproc::JobController.new(version: :v1) + # + # # TODO: Initialize +project_id+: # project_id = '' + # + # # TODO: Initialize +region+: # region = '' + # + # # TODO: Initialize +job_id+: # job_id = '' # response = job_controller_client.cancel_job(project_id, region, job_id) def cancel_job \ project_id, region, job_id, - options: nil + options: nil, + &block req = { project_id: project_id, region: region, job_id: job_id }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Dataproc::V1::CancelJobRequest) - @cancel_job.call(req, options) + @cancel_job.call(req, options, &block) end # Deletes the job from the project. If the job is active, the delete fails, # and the response returns +FAILED_PRECONDITION+. # @@ -454,31 +522,41 @@ # @param job_id [String] # Required. The job ID. # @param options [Google::Gax::CallOptions] # Overrides the default settings for this call, e.g, timeout, # retries, etc. + # @yield [result, operation] Access the result along with the RPC operation + # @yieldparam result [] + # @yieldparam operation [GRPC::ActiveCall::Operation] # @raise [Google::Gax::GaxError] if the RPC is aborted. # @example - # require "google/cloud/dataproc/v1" + # require "google/cloud/dataproc" # - # job_controller_client = Google::Cloud::Dataproc::V1::JobController.new + # job_controller_client = Google::Cloud::Dataproc::JobController.new(version: :v1) + # + # # TODO: Initialize +project_id+: # project_id = '' + # + # # TODO: Initialize +region+: # region = '' + # + # # TODO: Initialize +job_id+: # job_id = '' # job_controller_client.delete_job(project_id, region, job_id) def delete_job \ project_id, region, job_id, - options: nil + options: nil, + &block req = { project_id: project_id, region: region, job_id: job_id }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Dataproc::V1::DeleteJobRequest) - @delete_job.call(req, options) + @delete_job.call(req, options, &block) nil end end end end