class Google::Cloud::Workflows::V1beta::Workflows::Client
Client
for the Workflows
service.
Workflows
is used to deploy and execute workflow programs. Workflows
makes sure the program executes reliably, despite hardware and networking interruptions.
Attributes
Get the associated client for long-running operations.
@return [::Google::Cloud::Workflows::V1beta::Workflows::Operations]
@private
Public Class Methods
Configure the Workflows
Client
class.
See {::Google::Cloud::Workflows::V1beta::Workflows::Client::Configuration} for a description of the configuration fields.
@example
# Modify the configuration for all Workflows clients ::Google::Cloud::Workflows::V1beta::Workflows::Client.configure do |config| config.timeout = 10.0 end
@yield [config] Configure the Client
client. @yieldparam config [Client::Configuration]
@return [Client::Configuration]
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 58 def self.configure @configure ||= begin namespace = ["Google", "Cloud", "Workflows", "V1beta"] parent_config = while namespace.any? parent_name = namespace.join "::" parent_const = const_get parent_name break parent_const.configure if parent_const.respond_to? :configure namespace.pop end default_config = Client::Configuration.new parent_config default_config end yield @configure if block_given? @configure end
Create a new Workflows
client object.
@example
# Create a client using the default configuration client = ::Google::Cloud::Workflows::V1beta::Workflows::Client.new # Create a client using a custom configuration client = ::Google::Cloud::Workflows::V1beta::Workflows::Client.new do |config| config.timeout = 10.0 end
@yield [config] Configure the Workflows
client. @yieldparam config [Client::Configuration]
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 111 def initialize # 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 "gapic/grpc" require "google/cloud/workflows/v1beta/workflows_services_pb" # Create the configuration object @config = Configuration.new Client.configure # Yield the configuration if needed yield @config if block_given? # Create credentials credentials = @config.credentials # Use self-signed JWT if the endpoint is unchanged from default, # but only if the default endpoint does not have a region prefix. enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint && !@config.endpoint.split(".").first.include?("-") credentials ||= Credentials.default scope: @config.scope, enable_self_signed_jwt: enable_self_signed_jwt if credentials.is_a?(::String) || credentials.is_a?(::Hash) credentials = Credentials.new credentials, scope: @config.scope end @quota_project_id = @config.quota_project @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id @operations_client = Operations.new do |config| config.credentials = credentials config.endpoint = @config.endpoint end @workflows_stub = ::Gapic::ServiceStub.new( ::Google::Cloud::Workflows::V1beta::Workflows::Stub, credentials: credentials, endpoint: @config.endpoint, channel_args: @config.channel_args, interceptors: @config.interceptors ) end
Public Instance Methods
Configure the Workflows
Client
instance.
The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on {Client.configure}.
See {::Google::Cloud::Workflows::V1beta::Workflows::Client::Configuration} for a description of the configuration fields.
@yield [config] Configure the Client
client. @yieldparam config [Client::Configuration]
@return [Client::Configuration]
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 90 def configure yield @config if block_given? @config end
Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return [ALREADY_EXISTS] error.
@overload create_workflow
(request, options = nil)
Pass arguments to `create_workflow` via a request object, either of type {::Google::Cloud::Workflows::V1beta::CreateWorkflowRequest} or an equivalent Hash. @param request [::Google::Cloud::Workflows::V1beta::CreateWorkflowRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload create_workflow
(parent: nil, workflow: nil, workflow_id: nil)
Pass arguments to `create_workflow` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param parent [::String] Required. Project and location in which the workflow should be created. Format: projects/\\{project}/locations/\\{location} @param workflow [::Google::Cloud::Workflows::V1beta::Workflow, ::Hash] Required. Workflow to be created. @param workflow_id [::String] Required. The ID of the workflow to be created. It has to fulfill the following requirements: * Must contain only letters, numbers, underscores and hyphens. * Must start with a letter. * Must be between 1-64 characters. * Must end with a number or a letter. * Must be unique within the customer project and location.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::Operation]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 362 def create_workflow request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Workflows::V1beta::CreateWorkflowRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.create_workflow.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Cloud::Workflows::V1beta::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "parent" => request.parent } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.create_workflow.timeout, metadata: metadata, retry_policy: @config.rpcs.create_workflow.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @workflows_stub.call_rpc :create_workflow, request, options: options do |response, operation| response = ::Gapic::Operation.new response, @operations_client, options: options yield response, operation if block_given? return response end rescue ::GRPC::BadStatus => e raise ::Google::Cloud::Error.from_error(e) end
Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.
@overload delete_workflow
(request, options = nil)
Pass arguments to `delete_workflow` via a request object, either of type {::Google::Cloud::Workflows::V1beta::DeleteWorkflowRequest} or an equivalent Hash. @param request [::Google::Cloud::Workflows::V1beta::DeleteWorkflowRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload delete_workflow
(name: nil)
Pass arguments to `delete_workflow` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param name [::String] Required. Name of the workflow to be deleted. Format: projects/\\{project}/locations/\\{location}/workflows/\\{workflow}
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::Operation]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 434 def delete_workflow request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Workflows::V1beta::DeleteWorkflowRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.delete_workflow.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Cloud::Workflows::V1beta::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "name" => request.name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.delete_workflow.timeout, metadata: metadata, retry_policy: @config.rpcs.delete_workflow.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @workflows_stub.call_rpc :delete_workflow, request, options: options do |response, operation| response = ::Gapic::Operation.new response, @operations_client, options: options yield response, operation if block_given? return response end rescue ::GRPC::BadStatus => e raise ::Google::Cloud::Error.from_error(e) end
Gets details of a single Workflow
.
@overload get_workflow
(request, options = nil)
Pass arguments to `get_workflow` via a request object, either of type {::Google::Cloud::Workflows::V1beta::GetWorkflowRequest} or an equivalent Hash. @param request [::Google::Cloud::Workflows::V1beta::GetWorkflowRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload get_workflow
(name: nil)
Pass arguments to `get_workflow` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param name [::String] Required. Name of the workflow which information should be retrieved. Format: projects/\\{project}/locations/\\{location}/workflows/\\{workflow}
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Workflows::V1beta::Workflow] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Google::Cloud::Workflows::V1beta::Workflow]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 280 def get_workflow request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Workflows::V1beta::GetWorkflowRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.get_workflow.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Cloud::Workflows::V1beta::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "name" => request.name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.get_workflow.timeout, metadata: metadata, retry_policy: @config.rpcs.get_workflow.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @workflows_stub.call_rpc :get_workflow, request, options: options do |response, operation| yield response, operation if block_given? return response end rescue ::GRPC::BadStatus => e raise ::Google::Cloud::Error.from_error(e) end
Lists Workflows
in a given project and location. The default order is not specified.
@overload list_workflows
(request, options = nil)
Pass arguments to `list_workflows` via a request object, either of type {::Google::Cloud::Workflows::V1beta::ListWorkflowsRequest} or an equivalent Hash. @param request [::Google::Cloud::Workflows::V1beta::ListWorkflowsRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload list_workflows
(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
Pass arguments to `list_workflows` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param parent [::String] Required. Project and location from which the workflows should be listed. Format: projects/\\{project}/locations/\\{location} @param page_size [::Integer] Maximum number of workflows to return per call. The service may return fewer than this value. If the value is not specified, a default value of 500 will be used. The maximum permitted value is 1000 and values greater than 1000 will be coerced down to 1000. @param page_token [::String] A page token, received from a previous `ListWorkflows` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflows` must match the call that provided the page token. @param filter [::String] Filter to restrict results to specific workflows. @param order_by [::String] Comma-separated list of fields that that specify the order of the results. Default sorting order for a field is ascending. To specify descending order for a field, append a " desc" suffix. If not specified, the results will be returned in an unspecified order.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Workflows::V1beta::Workflow>] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::PagedEnumerable<::Google::Cloud::Workflows::V1beta::Workflow>]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 210 def list_workflows request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Workflows::V1beta::ListWorkflowsRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.list_workflows.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Cloud::Workflows::V1beta::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "parent" => request.parent } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.list_workflows.timeout, metadata: metadata, retry_policy: @config.rpcs.list_workflows.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @workflows_stub.call_rpc :list_workflows, request, options: options do |response, operation| response = ::Gapic::PagedEnumerable.new @workflows_stub, :list_workflows, request, response, operation, options yield response, operation if block_given? return response end rescue ::GRPC::BadStatus => e raise ::Google::Cloud::Error.from_error(e) end
Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow may be created as a result of a successful update operation. In that case, such revision will be used in new workflow executions.
@overload update_workflow
(request, options = nil)
Pass arguments to `update_workflow` via a request object, either of type {::Google::Cloud::Workflows::V1beta::UpdateWorkflowRequest} or an equivalent Hash. @param request [::Google::Cloud::Workflows::V1beta::UpdateWorkflowRequest, ::Hash] A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash. @param options [::Gapic::CallOptions, ::Hash] Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
@overload update_workflow
(workflow: nil, update_mask: nil)
Pass arguments to `update_workflow` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). @param workflow [::Google::Cloud::Workflows::V1beta::Workflow, ::Hash] Required. Workflow to be updated. @param update_mask [::Google::Protobuf::FieldMask, ::Hash] List of fields to be updated. If not present, the entire workflow will be updated.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::Operation]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/workflows/v1beta/workflows/client.rb, line 510 def update_workflow request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Workflows::V1beta::UpdateWorkflowRequest # Converts hash and nil to an options object options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h # Customize the options with defaults metadata = @config.rpcs.update_workflow.metadata.to_h # Set x-goog-api-client and x-goog-user-project headers metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ lib_name: @config.lib_name, lib_version: @config.lib_version, gapic_version: ::Google::Cloud::Workflows::V1beta::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "workflow.name" => request.workflow.name } request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") metadata[:"x-goog-request-params"] ||= request_params_header options.apply_defaults timeout: @config.rpcs.update_workflow.timeout, metadata: metadata, retry_policy: @config.rpcs.update_workflow.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @workflows_stub.call_rpc :update_workflow, request, options: options do |response, operation| response = ::Gapic::Operation.new response, @operations_client, options: options yield response, operation if block_given? return response end rescue ::GRPC::BadStatus => e raise ::Google::Cloud::Error.from_error(e) end