From d0966be691845f04dea47c541e1adc2750bd7289 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 16:04:16 -0700 Subject: [PATCH] feat(deploy-v1): Added support for deploy policies (#27370) --- google-cloud-deploy-v1/.owlbot-manifest.json | 9 + google-cloud-deploy-v1/gapic_metadata.json | 25 + .../cloud/deploy/v1/cloud_deploy/client.rb | 646 +++++++++++++++++- .../cloud/deploy/v1/cloud_deploy/paths.rb | 19 + .../deploy/v1/cloud_deploy/rest/client.rb | 610 ++++++++++++++++- .../v1/cloud_deploy/rest/service_stub.rb | 297 ++++++++ .../google/cloud/deploy/v1/cloud_deploy_pb.rb | 23 +- .../deploy/v1/cloud_deploy_services_pb.rb | 10 + .../v1/deploypolicy_evaluation_payload_pb.rb | 46 ++ .../google/cloud/deploy/v1/log_enums_pb.rb | 2 +- .../google/cloud/deploy/v1/cloud_deploy.rb | 508 +++++++++++++- .../v1/deploypolicy_evaluation_payload.rb | 106 +++ .../google/cloud/deploy/v1/log_enums.rb | 3 + .../proto_docs/google/type/date.rb | 2 +- .../proto_docs/google/type/dayofweek.rb | 49 ++ .../proto_docs/google/type/timeofday.rb | 45 ++ .../cloud_deploy/create_deploy_policy.rb | 54 ++ .../cloud_deploy/delete_deploy_policy.rb | 54 ++ .../cloud_deploy/get_deploy_policy.rb | 47 ++ .../cloud_deploy/list_deploy_policies.rb | 51 ++ .../cloud_deploy/update_deploy_policy.rb | 54 ++ ...ippet_metadata_google.cloud.deploy.v1.json | 200 ++++++ .../deploy/v1/cloud_deploy_paths_test.rb | 12 + .../cloud/deploy/v1/cloud_deploy_rest_test.rb | 385 +++++++++-- .../cloud/deploy/v1/cloud_deploy_test.rb | 450 ++++++++++-- 25 files changed, 3595 insertions(+), 112 deletions(-) create mode 100644 google-cloud-deploy-v1/lib/google/cloud/deploy/v1/deploypolicy_evaluation_payload_pb.rb create mode 100644 google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/deploypolicy_evaluation_payload.rb create mode 100644 google-cloud-deploy-v1/proto_docs/google/type/dayofweek.rb create mode 100644 google-cloud-deploy-v1/proto_docs/google/type/timeofday.rb create mode 100644 google-cloud-deploy-v1/snippets/cloud_deploy/create_deploy_policy.rb create mode 100644 google-cloud-deploy-v1/snippets/cloud_deploy/delete_deploy_policy.rb create mode 100644 google-cloud-deploy-v1/snippets/cloud_deploy/get_deploy_policy.rb create mode 100644 google-cloud-deploy-v1/snippets/cloud_deploy/list_deploy_policies.rb create mode 100644 google-cloud-deploy-v1/snippets/cloud_deploy/update_deploy_policy.rb diff --git a/google-cloud-deploy-v1/.owlbot-manifest.json b/google-cloud-deploy-v1/.owlbot-manifest.json index 18d269e55f63..42148be3d5bb 100644 --- a/google-cloud-deploy-v1/.owlbot-manifest.json +++ b/google-cloud-deploy-v1/.owlbot-manifest.json @@ -31,6 +31,7 @@ "lib/google/cloud/deploy/v1/cloud_deploy_services_pb.rb", "lib/google/cloud/deploy/v1/customtargettype_notification_payload_pb.rb", "lib/google/cloud/deploy/v1/deliverypipeline_notification_payload_pb.rb", + "lib/google/cloud/deploy/v1/deploypolicy_evaluation_payload_pb.rb", "lib/google/cloud/deploy/v1/deploypolicy_notification_payload_pb.rb", "lib/google/cloud/deploy/v1/jobrun_notification_payload_pb.rb", "lib/google/cloud/deploy/v1/log_enums_pb.rb", @@ -51,6 +52,7 @@ "proto_docs/google/cloud/deploy/v1/cloud_deploy.rb", "proto_docs/google/cloud/deploy/v1/customtargettype_notification_payload.rb", "proto_docs/google/cloud/deploy/v1/deliverypipeline_notification_payload.rb", + "proto_docs/google/cloud/deploy/v1/deploypolicy_evaluation_payload.rb", "proto_docs/google/cloud/deploy/v1/deploypolicy_notification_payload.rb", "proto_docs/google/cloud/deploy/v1/jobrun_notification_payload.rb", "proto_docs/google/cloud/deploy/v1/log_enums.rb", @@ -67,7 +69,9 @@ "proto_docs/google/protobuf/timestamp.rb", "proto_docs/google/rpc/status.rb", "proto_docs/google/type/date.rb", + "proto_docs/google/type/dayofweek.rb", "proto_docs/google/type/expr.rb", + "proto_docs/google/type/timeofday.rb", "snippets/Gemfile", "snippets/cloud_deploy/abandon_release.rb", "snippets/cloud_deploy/advance_rollout.rb", @@ -77,18 +81,21 @@ "snippets/cloud_deploy/create_automation.rb", "snippets/cloud_deploy/create_custom_target_type.rb", "snippets/cloud_deploy/create_delivery_pipeline.rb", + "snippets/cloud_deploy/create_deploy_policy.rb", "snippets/cloud_deploy/create_release.rb", "snippets/cloud_deploy/create_rollout.rb", "snippets/cloud_deploy/create_target.rb", "snippets/cloud_deploy/delete_automation.rb", "snippets/cloud_deploy/delete_custom_target_type.rb", "snippets/cloud_deploy/delete_delivery_pipeline.rb", + "snippets/cloud_deploy/delete_deploy_policy.rb", "snippets/cloud_deploy/delete_target.rb", "snippets/cloud_deploy/get_automation.rb", "snippets/cloud_deploy/get_automation_run.rb", "snippets/cloud_deploy/get_config.rb", "snippets/cloud_deploy/get_custom_target_type.rb", "snippets/cloud_deploy/get_delivery_pipeline.rb", + "snippets/cloud_deploy/get_deploy_policy.rb", "snippets/cloud_deploy/get_job_run.rb", "snippets/cloud_deploy/get_release.rb", "snippets/cloud_deploy/get_rollout.rb", @@ -98,6 +105,7 @@ "snippets/cloud_deploy/list_automations.rb", "snippets/cloud_deploy/list_custom_target_types.rb", "snippets/cloud_deploy/list_delivery_pipelines.rb", + "snippets/cloud_deploy/list_deploy_policies.rb", "snippets/cloud_deploy/list_job_runs.rb", "snippets/cloud_deploy/list_releases.rb", "snippets/cloud_deploy/list_rollouts.rb", @@ -108,6 +116,7 @@ "snippets/cloud_deploy/update_automation.rb", "snippets/cloud_deploy/update_custom_target_type.rb", "snippets/cloud_deploy/update_delivery_pipeline.rb", + "snippets/cloud_deploy/update_deploy_policy.rb", "snippets/cloud_deploy/update_target.rb", "snippets/snippet_metadata_google.cloud.deploy.v1.json", "test/google/cloud/deploy/v1/cloud_deploy_operations_test.rb", diff --git a/google-cloud-deploy-v1/gapic_metadata.json b/google-cloud-deploy-v1/gapic_metadata.json index e1c5931421ad..711161db3875 100644 --- a/google-cloud-deploy-v1/gapic_metadata.json +++ b/google-cloud-deploy-v1/gapic_metadata.json @@ -110,6 +110,31 @@ "abandon_release" ] }, + "CreateDeployPolicy": { + "methods": [ + "create_deploy_policy" + ] + }, + "UpdateDeployPolicy": { + "methods": [ + "update_deploy_policy" + ] + }, + "DeleteDeployPolicy": { + "methods": [ + "delete_deploy_policy" + ] + }, + "ListDeployPolicies": { + "methods": [ + "list_deploy_policies" + ] + }, + "GetDeployPolicy": { + "methods": [ + "get_deploy_policy" + ] + }, "ApproveRollout": { "methods": [ "approve_rollout" diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/client.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/client.rb index 2cf917fdbb2f..a3495e2f3324 100644 --- a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/client.rb +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/client.rb @@ -135,6 +135,22 @@ def self.configure default_config.rpcs.abandon_release.timeout = 60.0 + default_config.rpcs.create_deploy_policy.timeout = 60.0 + + default_config.rpcs.update_deploy_policy.timeout = 60.0 + + default_config.rpcs.delete_deploy_policy.timeout = 60.0 + + default_config.rpcs.list_deploy_policies.timeout = 60.0 + default_config.rpcs.list_deploy_policies.retry_policy = { + initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14] + } + + default_config.rpcs.get_deploy_policy.timeout = 60.0 + default_config.rpcs.get_deploy_policy.retry_policy = { + initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14] + } + default_config.rpcs.approve_rollout.timeout = 60.0 default_config.rpcs.advance_rollout.timeout = 60.0 @@ -1013,7 +1029,7 @@ def list_targets request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload rollback_target(name: nil, target_id: nil, rollout_id: nil, release_id: nil, rollout_to_roll_back: nil, rollback_config: nil, validate_only: nil) + # @overload rollback_target(name: nil, target_id: nil, rollout_id: nil, release_id: nil, rollout_to_roll_back: nil, rollback_config: nil, validate_only: nil, override_deploy_policy: nil) # Pass arguments to `rollback_target` 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). @@ -1038,6 +1054,9 @@ def list_targets request, options = nil # @param validate_only [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with a `RollbackTargetResponse`. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::RollbackTargetResponse] @@ -2307,7 +2326,7 @@ def get_release request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload create_release(parent: nil, release_id: nil, release: nil, request_id: nil, validate_only: nil) + # @overload create_release(parent: nil, release_id: nil, release: nil, request_id: nil, validate_only: nil, override_deploy_policy: nil) # Pass arguments to `create_release` 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). @@ -2337,6 +2356,9 @@ def get_release request, options = nil # @param validate_only [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with an expected result, but no actual change is made. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Gapic::Operation] @@ -2498,6 +2520,556 @@ def abandon_release request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Creates a new DeployPolicy in a given project and location. + # + # @overload create_deploy_policy(request, options = nil) + # Pass arguments to `create_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest, ::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_deploy_policy(parent: nil, deploy_policy_id: nil, deploy_policy: nil, request_id: nil, validate_only: nil) + # Pass arguments to `create_deploy_policy` 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. The parent collection in which the `DeployPolicy` must be + # created. The format is `projects/{project_id}/locations/{location_name}`. + # @param deploy_policy_id [::String] + # Required. ID of the `DeployPolicy`. + # @param deploy_policy [::Google::Cloud::Deploy::V1::DeployPolicy, ::Hash] + # Required. The `DeployPolicy` to create. + # @param request_id [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @param validate_only [::Boolean] + # Optional. If set to true, the request is validated and the user is provided + # with an expected result, but no actual change is made. + # + # @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. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new + # + # # Call the create_deploy_policy method. + # result = client.create_deploy_policy request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def create_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest + + # 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_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version 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::Deploy::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + 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_deploy_policy.timeout, + metadata: metadata, + retry_policy: @config.rpcs.create_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.call_rpc :create_deploy_policy, 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 + + ## + # Updates the parameters of a single DeployPolicy. + # + # @overload update_deploy_policy(request, options = nil) + # Pass arguments to `update_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest, ::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_deploy_policy(update_mask: nil, deploy_policy: nil, request_id: nil, allow_missing: nil, validate_only: nil) + # Pass arguments to `update_deploy_policy` 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 update_mask [::Google::Protobuf::FieldMask, ::Hash] + # Required. Field mask is used to specify the fields to be overwritten by the + # update in the `DeployPolicy` resource. The fields specified in the + # update_mask are relative to the resource, not the full request. A field + # will be overwritten if it's in the mask. If the user doesn't provide a mask + # then all fields are overwritten. + # @param deploy_policy [::Google::Cloud::Deploy::V1::DeployPolicy, ::Hash] + # Required. The `DeployPolicy` to update. + # @param request_id [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @param allow_missing [::Boolean] + # Optional. If set to true, updating a `DeployPolicy` that does not exist + # will result in the creation of a new `DeployPolicy`. + # @param validate_only [::Boolean] + # Optional. If set to true, the request is validated and the user is provided + # with an expected result, but no actual change is made. + # + # @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. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new + # + # # Call the update_deploy_policy method. + # result = client.update_deploy_policy request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def update_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest + + # 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_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version 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::Deploy::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.deploy_policy&.name + header_params["deploy_policy.name"] = request.deploy_policy.name + end + + 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_deploy_policy.timeout, + metadata: metadata, + retry_policy: @config.rpcs.update_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.call_rpc :update_deploy_policy, 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 single DeployPolicy. + # + # @overload delete_deploy_policy(request, options = nil) + # Pass arguments to `delete_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest, ::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_deploy_policy(name: nil, request_id: nil, allow_missing: nil, validate_only: nil, etag: nil) + # Pass arguments to `delete_deploy_policy` 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. The name of the `DeployPolicy` to delete. The format is + # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`. + # @param request_id [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @param allow_missing [::Boolean] + # Optional. If set to true, then deleting an already deleted or non-existing + # `DeployPolicy` will succeed. + # @param validate_only [::Boolean] + # Optional. If set, validate the request and preview the review, but do not + # actually post it. + # @param etag [::String] + # Optional. This checksum is computed by the server based on the value of + # other fields, and may be sent on update and delete requests to ensure the + # client has an up-to-date value before proceeding. + # + # @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. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new + # + # # Call the delete_deploy_policy method. + # result = client.delete_deploy_policy request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def delete_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest + + # 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_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version 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::Deploy::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + 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_deploy_policy.timeout, + metadata: metadata, + retry_policy: @config.rpcs.delete_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.call_rpc :delete_deploy_policy, 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 + + ## + # Lists DeployPolicies in a given project and location. + # + # @overload list_deploy_policies(request, options = nil) + # Pass arguments to `list_deploy_policies` via a request object, either of type + # {::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest, ::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_deploy_policies(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) + # Pass arguments to `list_deploy_policies` 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. The parent, which owns this collection of deploy policies. Format + # must be `projects/{project_id}/locations/{location_name}`. + # @param page_size [::Integer] + # The maximum number of deploy policies to return. The service may return + # fewer than this value. If unspecified, at most 50 deploy policies will + # be returned. The maximum value is 1000; values above 1000 will be set + # to 1000. + # @param page_token [::String] + # A page token, received from a previous `ListDeployPolicies` call. + # Provide this to retrieve the subsequent page. + # + # When paginating, all other provided parameters match + # the call that provided the page token. + # @param filter [::String] + # Filter deploy policies to be returned. See https://google.aip.dev/160 for + # more details. All fields can be used in the filter. + # @param order_by [::String] + # Field to sort by. See https://google.aip.dev/132#ordering for more details. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Deploy::V1::DeployPolicy>] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::PagedEnumerable<::Google::Cloud::Deploy::V1::DeployPolicy>] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new + # + # # Call the list_deploy_policies method. + # result = client.list_deploy_policies request + # + # # The returned object is of type Gapic::PagedEnumerable. You can iterate + # # over elements, and API calls will be issued to fetch pages as needed. + # result.each do |item| + # # Each element is of type ::Google::Cloud::Deploy::V1::DeployPolicy. + # p item + # end + # + def list_deploy_policies request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest + + # 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_deploy_policies.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version 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::Deploy::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.parent + header_params["parent"] = request.parent + end + + 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_deploy_policies.timeout, + metadata: metadata, + retry_policy: @config.rpcs.list_deploy_policies.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.call_rpc :list_deploy_policies, request, options: options do |response, operation| + response = ::Gapic::PagedEnumerable.new @cloud_deploy_stub, :list_deploy_policies, 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 + + ## + # Gets details of a single DeployPolicy. + # + # @overload get_deploy_policy(request, options = nil) + # Pass arguments to `get_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::GetDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::GetDeployPolicyRequest, ::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_deploy_policy(name: nil) + # Pass arguments to `get_deploy_policy` 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 `DeployPolicy`. Format must be + # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Cloud::Deploy::V1::DeployPolicy] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Cloud::Deploy::V1::DeployPolicy] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new + # + # # Call the get_deploy_policy method. + # result = client.get_deploy_policy request + # + # # The returned object is of type Google::Cloud::Deploy::V1::DeployPolicy. + # p result + # + def get_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::GetDeployPolicyRequest + + # 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_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version 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::Deploy::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + 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_deploy_policy.timeout, + metadata: metadata, + retry_policy: @config.rpcs.get_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.call_rpc :get_deploy_policy, 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 + ## # Approves a Rollout. # @@ -2511,7 +3083,7 @@ def abandon_release request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload approve_rollout(name: nil, approved: nil) + # @overload approve_rollout(name: nil, approved: nil, override_deploy_policy: nil) # Pass arguments to `approve_rollout` 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). @@ -2521,6 +3093,9 @@ def abandon_release request, options = nil # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. # @param approved [::Boolean] # Required. True = approve; false = reject + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::ApproveRolloutResponse] @@ -2600,7 +3175,7 @@ def approve_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload advance_rollout(name: nil, phase_id: nil) + # @overload advance_rollout(name: nil, phase_id: nil, override_deploy_policy: nil) # Pass arguments to `advance_rollout` 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). @@ -2610,6 +3185,9 @@ def approve_rollout request, options = nil # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. # @param phase_id [::String] # Required. The phase ID to advance the `Rollout` to. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::AdvanceRolloutResponse] @@ -2689,7 +3267,7 @@ def advance_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload cancel_rollout(name: nil) + # @overload cancel_rollout(name: nil, override_deploy_policy: nil) # Pass arguments to `cancel_rollout` 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). @@ -2697,6 +3275,9 @@ def advance_rollout request, options = nil # @param name [::String] # Required. Name of the Rollout. Format is # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::CancelRolloutResponse] @@ -2971,7 +3552,7 @@ def get_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload create_rollout(parent: nil, rollout_id: nil, rollout: nil, request_id: nil, validate_only: nil, starting_phase_id: nil) + # @overload create_rollout(parent: nil, rollout_id: nil, rollout: nil, request_id: nil, validate_only: nil, override_deploy_policy: nil, starting_phase_id: nil) # Pass arguments to `create_rollout` 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). @@ -3001,6 +3582,9 @@ def get_rollout request, options = nil # @param validate_only [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with an expected result, but no actual change is made. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @param starting_phase_id [::String] # Optional. The starting phase ID for the `Rollout`. If empty the `Rollout` # will start at the first phase. @@ -3091,7 +3675,7 @@ def create_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload ignore_job(rollout: nil, phase_id: nil, job_id: nil) + # @overload ignore_job(rollout: nil, phase_id: nil, job_id: nil, override_deploy_policy: nil) # Pass arguments to `ignore_job` 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). @@ -3103,6 +3687,9 @@ def create_rollout request, options = nil # Required. The phase ID the Job to ignore belongs to. # @param job_id [::String] # Required. The job ID for the Job to ignore. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::IgnoreJobResponse] @@ -3182,7 +3769,7 @@ def ignore_job request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload retry_job(rollout: nil, phase_id: nil, job_id: nil) + # @overload retry_job(rollout: nil, phase_id: nil, job_id: nil, override_deploy_policy: nil) # Pass arguments to `retry_job` 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). @@ -3194,6 +3781,9 @@ def ignore_job request, options = nil # Required. The phase ID the Job to retry belongs to. # @param job_id [::String] # Required. The job ID for the Job to retry. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::RetryJobResponse] @@ -3468,7 +4058,7 @@ def get_job_run request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. # - # @overload terminate_job_run(name: nil) + # @overload terminate_job_run(name: nil, override_deploy_policy: nil) # Pass arguments to `terminate_job_run` 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). @@ -3476,6 +4066,9 @@ def get_job_run request, options = nil # @param name [::String] # Required. Name of the `JobRun`. Format must be # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::Deploy::V1::TerminateJobRunResponse] @@ -4721,6 +5314,31 @@ class Rpcs # attr_reader :abandon_release ## + # RPC-specific configuration for `create_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :create_deploy_policy + ## + # RPC-specific configuration for `update_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :update_deploy_policy + ## + # RPC-specific configuration for `delete_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :delete_deploy_policy + ## + # RPC-specific configuration for `list_deploy_policies` + # @return [::Gapic::Config::Method] + # + attr_reader :list_deploy_policies + ## + # RPC-specific configuration for `get_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :get_deploy_policy + ## # RPC-specific configuration for `approve_rollout` # @return [::Gapic::Config::Method] # @@ -4863,6 +5481,16 @@ def initialize parent_rpcs = nil @create_release = ::Gapic::Config::Method.new create_release_config abandon_release_config = parent_rpcs.abandon_release if parent_rpcs.respond_to? :abandon_release @abandon_release = ::Gapic::Config::Method.new abandon_release_config + create_deploy_policy_config = parent_rpcs.create_deploy_policy if parent_rpcs.respond_to? :create_deploy_policy + @create_deploy_policy = ::Gapic::Config::Method.new create_deploy_policy_config + update_deploy_policy_config = parent_rpcs.update_deploy_policy if parent_rpcs.respond_to? :update_deploy_policy + @update_deploy_policy = ::Gapic::Config::Method.new update_deploy_policy_config + delete_deploy_policy_config = parent_rpcs.delete_deploy_policy if parent_rpcs.respond_to? :delete_deploy_policy + @delete_deploy_policy = ::Gapic::Config::Method.new delete_deploy_policy_config + list_deploy_policies_config = parent_rpcs.list_deploy_policies if parent_rpcs.respond_to? :list_deploy_policies + @list_deploy_policies = ::Gapic::Config::Method.new list_deploy_policies_config + get_deploy_policy_config = parent_rpcs.get_deploy_policy if parent_rpcs.respond_to? :get_deploy_policy + @get_deploy_policy = ::Gapic::Config::Method.new get_deploy_policy_config approve_rollout_config = parent_rpcs.approve_rollout if parent_rpcs.respond_to? :approve_rollout @approve_rollout = ::Gapic::Config::Method.new approve_rollout_config advance_rollout_config = parent_rpcs.advance_rollout if parent_rpcs.respond_to? :advance_rollout diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/paths.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/paths.rb index 4fdf67dc31ea..8b1db67d527c 100644 --- a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/paths.rb +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/paths.rb @@ -159,6 +159,25 @@ def delivery_pipeline_path project:, location:, delivery_pipeline: "projects/#{project}/locations/#{location}/deliveryPipelines/#{delivery_pipeline}" end + ## + # Create a fully-qualified DeployPolicy resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}` + # + # @param project [String] + # @param location [String] + # @param deploy_policy [String] + # + # @return [::String] + def deploy_policy_path project:, location:, deploy_policy: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + + "projects/#{project}/locations/#{location}/deployPolicies/#{deploy_policy}" + end + ## # Create a fully-qualified Job resource string. # diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/client.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/client.rb index 09795ebebc6b..9c5e69956d57 100644 --- a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/client.rb +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/client.rb @@ -137,6 +137,22 @@ def self.configure default_config.rpcs.abandon_release.timeout = 60.0 + default_config.rpcs.create_deploy_policy.timeout = 60.0 + + default_config.rpcs.update_deploy_policy.timeout = 60.0 + + default_config.rpcs.delete_deploy_policy.timeout = 60.0 + + default_config.rpcs.list_deploy_policies.timeout = 60.0 + default_config.rpcs.list_deploy_policies.retry_policy = { + initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14] + } + + default_config.rpcs.get_deploy_policy.timeout = 60.0 + default_config.rpcs.get_deploy_policy.retry_policy = { + initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14] + } + default_config.rpcs.approve_rollout.timeout = 60.0 default_config.rpcs.advance_rollout.timeout = 60.0 @@ -964,7 +980,7 @@ def list_targets request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload rollback_target(name: nil, target_id: nil, rollout_id: nil, release_id: nil, rollout_to_roll_back: nil, rollback_config: nil, validate_only: nil) + # @overload rollback_target(name: nil, target_id: nil, rollout_id: nil, release_id: nil, rollout_to_roll_back: nil, rollback_config: nil, validate_only: nil, override_deploy_policy: nil) # Pass arguments to `rollback_target` 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). @@ -989,6 +1005,9 @@ def list_targets request, options = nil # @param validate_only [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with a `RollbackTargetResponse`. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::RollbackTargetResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2172,7 +2191,7 @@ def get_release request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload create_release(parent: nil, release_id: nil, release: nil, request_id: nil, validate_only: nil) + # @overload create_release(parent: nil, release_id: nil, release: nil, request_id: nil, validate_only: nil, override_deploy_policy: nil) # Pass arguments to `create_release` 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). @@ -2202,6 +2221,9 @@ def get_release request, options = nil # @param validate_only [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with an expected result, but no actual change is made. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Gapic::Operation] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2349,6 +2371,520 @@ def abandon_release request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Creates a new DeployPolicy in a given project and location. + # + # @overload create_deploy_policy(request, options = nil) + # Pass arguments to `create_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest, ::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_deploy_policy(parent: nil, deploy_policy_id: nil, deploy_policy: nil, request_id: nil, validate_only: nil) + # Pass arguments to `create_deploy_policy` 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. The parent collection in which the `DeployPolicy` must be + # created. The format is `projects/{project_id}/locations/{location_name}`. + # @param deploy_policy_id [::String] + # Required. ID of the `DeployPolicy`. + # @param deploy_policy [::Google::Cloud::Deploy::V1::DeployPolicy, ::Hash] + # Required. The `DeployPolicy` to create. + # @param request_id [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @param validate_only [::Boolean] + # Optional. If set to true, the request is validated and the user is provided + # with an expected result, but no actual change is made. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new + # + # # Call the create_deploy_policy method. + # result = client.create_deploy_policy request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def create_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest + + # 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 + call_metadata = @config.rpcs.create_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_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::Deploy::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.create_deploy_policy.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.create_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.create_deploy_policy request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + return result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the parameters of a single DeployPolicy. + # + # @overload update_deploy_policy(request, options = nil) + # Pass arguments to `update_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest, ::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_deploy_policy(update_mask: nil, deploy_policy: nil, request_id: nil, allow_missing: nil, validate_only: nil) + # Pass arguments to `update_deploy_policy` 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 update_mask [::Google::Protobuf::FieldMask, ::Hash] + # Required. Field mask is used to specify the fields to be overwritten by the + # update in the `DeployPolicy` resource. The fields specified in the + # update_mask are relative to the resource, not the full request. A field + # will be overwritten if it's in the mask. If the user doesn't provide a mask + # then all fields are overwritten. + # @param deploy_policy [::Google::Cloud::Deploy::V1::DeployPolicy, ::Hash] + # Required. The `DeployPolicy` to update. + # @param request_id [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @param allow_missing [::Boolean] + # Optional. If set to true, updating a `DeployPolicy` that does not exist + # will result in the creation of a new `DeployPolicy`. + # @param validate_only [::Boolean] + # Optional. If set to true, the request is validated and the user is provided + # with an expected result, but no actual change is made. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new + # + # # Call the update_deploy_policy method. + # result = client.update_deploy_policy request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def update_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest + + # 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 + call_metadata = @config.rpcs.update_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_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::Deploy::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.update_deploy_policy.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.update_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.update_deploy_policy request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + return result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Deletes a single DeployPolicy. + # + # @overload delete_deploy_policy(request, options = nil) + # Pass arguments to `delete_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest, ::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_deploy_policy(name: nil, request_id: nil, allow_missing: nil, validate_only: nil, etag: nil) + # Pass arguments to `delete_deploy_policy` 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. The name of the `DeployPolicy` to delete. The format is + # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`. + # @param request_id [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @param allow_missing [::Boolean] + # Optional. If set to true, then deleting an already deleted or non-existing + # `DeployPolicy` will succeed. + # @param validate_only [::Boolean] + # Optional. If set, validate the request and preview the review, but do not + # actually post it. + # @param etag [::String] + # Optional. This checksum is computed by the server based on the value of + # other fields, and may be sent on update and delete requests to ensure the + # client has an up-to-date value before proceeding. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new + # + # # Call the delete_deploy_policy method. + # result = client.delete_deploy_policy request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def delete_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest + + # 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 + call_metadata = @config.rpcs.delete_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_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::Deploy::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.delete_deploy_policy.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.delete_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.delete_deploy_policy request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + return result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Lists DeployPolicies in a given project and location. + # + # @overload list_deploy_policies(request, options = nil) + # Pass arguments to `list_deploy_policies` via a request object, either of type + # {::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest, ::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_deploy_policies(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) + # Pass arguments to `list_deploy_policies` 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. The parent, which owns this collection of deploy policies. Format + # must be `projects/{project_id}/locations/{location_name}`. + # @param page_size [::Integer] + # The maximum number of deploy policies to return. The service may return + # fewer than this value. If unspecified, at most 50 deploy policies will + # be returned. The maximum value is 1000; values above 1000 will be set + # to 1000. + # @param page_token [::String] + # A page token, received from a previous `ListDeployPolicies` call. + # Provide this to retrieve the subsequent page. + # + # When paginating, all other provided parameters match + # the call that provided the page token. + # @param filter [::String] + # Filter deploy policies to be returned. See https://google.aip.dev/160 for + # more details. All fields can be used in the filter. + # @param order_by [::String] + # Field to sort by. See https://google.aip.dev/132#ordering for more details. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new + # + # # Call the list_deploy_policies method. + # result = client.list_deploy_policies request + # + # # The returned object is of type Gapic::PagedEnumerable. You can iterate + # # over elements, and API calls will be issued to fetch pages as needed. + # result.each do |item| + # # Each element is of type ::Google::Cloud::Deploy::V1::DeployPolicy. + # p item + # end + # + def list_deploy_policies request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest + + # 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 + call_metadata = @config.rpcs.list_deploy_policies.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_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::Deploy::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.list_deploy_policies.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.list_deploy_policies.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.list_deploy_policies request, options do |result, operation| + yield result, operation if block_given? + return result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Gets details of a single DeployPolicy. + # + # @overload get_deploy_policy(request, options = nil) + # Pass arguments to `get_deploy_policy` via a request object, either of type + # {::Google::Cloud::Deploy::V1::GetDeployPolicyRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::Deploy::V1::GetDeployPolicyRequest, ::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_deploy_policy(name: nil) + # Pass arguments to `get_deploy_policy` 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 `DeployPolicy`. Format must be + # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::Deploy::V1::DeployPolicy] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::Deploy::V1::DeployPolicy] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/deploy/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new + # + # # Call the get_deploy_policy method. + # result = client.get_deploy_policy request + # + # # The returned object is of type Google::Cloud::Deploy::V1::DeployPolicy. + # p result + # + def get_deploy_policy request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Deploy::V1::GetDeployPolicyRequest + + # 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 + call_metadata = @config.rpcs.get_deploy_policy.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_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::Deploy::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.get_deploy_policy.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.get_deploy_policy.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @cloud_deploy_stub.get_deploy_policy request, options do |result, operation| + yield result, operation if block_given? + return result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Approves a Rollout. # @@ -2362,7 +2898,7 @@ def abandon_release request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload approve_rollout(name: nil, approved: nil) + # @overload approve_rollout(name: nil, approved: nil, override_deploy_policy: nil) # Pass arguments to `approve_rollout` 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). @@ -2372,6 +2908,9 @@ def abandon_release request, options = nil # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. # @param approved [::Boolean] # Required. True = approve; false = reject + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::ApproveRolloutResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2444,7 +2983,7 @@ def approve_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload advance_rollout(name: nil, phase_id: nil) + # @overload advance_rollout(name: nil, phase_id: nil, override_deploy_policy: nil) # Pass arguments to `advance_rollout` 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). @@ -2454,6 +2993,9 @@ def approve_rollout request, options = nil # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. # @param phase_id [::String] # Required. The phase ID to advance the `Rollout` to. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::AdvanceRolloutResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2526,7 +3068,7 @@ def advance_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload cancel_rollout(name: nil) + # @overload cancel_rollout(name: nil, override_deploy_policy: nil) # Pass arguments to `cancel_rollout` 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). @@ -2534,6 +3076,9 @@ def advance_rollout request, options = nil # @param name [::String] # Required. Name of the Rollout. Format is # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::CancelRolloutResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2786,7 +3331,7 @@ def get_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload create_rollout(parent: nil, rollout_id: nil, rollout: nil, request_id: nil, validate_only: nil, starting_phase_id: nil) + # @overload create_rollout(parent: nil, rollout_id: nil, rollout: nil, request_id: nil, validate_only: nil, override_deploy_policy: nil, starting_phase_id: nil) # Pass arguments to `create_rollout` 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). @@ -2816,6 +3361,9 @@ def get_rollout request, options = nil # @param validate_only [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with an expected result, but no actual change is made. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @param starting_phase_id [::String] # Optional. The starting phase ID for the `Rollout`. If empty the `Rollout` # will start at the first phase. @@ -2899,7 +3447,7 @@ def create_rollout request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload ignore_job(rollout: nil, phase_id: nil, job_id: nil) + # @overload ignore_job(rollout: nil, phase_id: nil, job_id: nil, override_deploy_policy: nil) # Pass arguments to `ignore_job` 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). @@ -2911,6 +3459,9 @@ def create_rollout request, options = nil # Required. The phase ID the Job to ignore belongs to. # @param job_id [::String] # Required. The job ID for the Job to ignore. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::IgnoreJobResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -2983,7 +3534,7 @@ def ignore_job request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload retry_job(rollout: nil, phase_id: nil, job_id: nil) + # @overload retry_job(rollout: nil, phase_id: nil, job_id: nil, override_deploy_policy: nil) # Pass arguments to `retry_job` 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). @@ -2995,6 +3546,9 @@ def ignore_job request, options = nil # Required. The phase ID the Job to retry belongs to. # @param job_id [::String] # Required. The job ID for the Job to retry. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::RetryJobResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -3247,7 +3801,7 @@ def get_job_run request, options = nil # @param options [::Gapic::CallOptions, ::Hash] # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. # - # @overload terminate_job_run(name: nil) + # @overload terminate_job_run(name: nil, override_deploy_policy: nil) # Pass arguments to `terminate_job_run` 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). @@ -3255,6 +3809,9 @@ def get_job_run request, options = nil # @param name [::String] # Required. Name of the `JobRun`. Format must be # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`. + # @param override_deploy_policy [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::Deploy::V1::TerminateJobRunResponse] # @yieldparam operation [::Gapic::Rest::TransportOperation] @@ -4415,6 +4972,31 @@ class Rpcs # attr_reader :abandon_release ## + # RPC-specific configuration for `create_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :create_deploy_policy + ## + # RPC-specific configuration for `update_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :update_deploy_policy + ## + # RPC-specific configuration for `delete_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :delete_deploy_policy + ## + # RPC-specific configuration for `list_deploy_policies` + # @return [::Gapic::Config::Method] + # + attr_reader :list_deploy_policies + ## + # RPC-specific configuration for `get_deploy_policy` + # @return [::Gapic::Config::Method] + # + attr_reader :get_deploy_policy + ## # RPC-specific configuration for `approve_rollout` # @return [::Gapic::Config::Method] # @@ -4557,6 +5139,16 @@ def initialize parent_rpcs = nil @create_release = ::Gapic::Config::Method.new create_release_config abandon_release_config = parent_rpcs.abandon_release if parent_rpcs.respond_to? :abandon_release @abandon_release = ::Gapic::Config::Method.new abandon_release_config + create_deploy_policy_config = parent_rpcs.create_deploy_policy if parent_rpcs.respond_to? :create_deploy_policy + @create_deploy_policy = ::Gapic::Config::Method.new create_deploy_policy_config + update_deploy_policy_config = parent_rpcs.update_deploy_policy if parent_rpcs.respond_to? :update_deploy_policy + @update_deploy_policy = ::Gapic::Config::Method.new update_deploy_policy_config + delete_deploy_policy_config = parent_rpcs.delete_deploy_policy if parent_rpcs.respond_to? :delete_deploy_policy + @delete_deploy_policy = ::Gapic::Config::Method.new delete_deploy_policy_config + list_deploy_policies_config = parent_rpcs.list_deploy_policies if parent_rpcs.respond_to? :list_deploy_policies + @list_deploy_policies = ::Gapic::Config::Method.new list_deploy_policies_config + get_deploy_policy_config = parent_rpcs.get_deploy_policy if parent_rpcs.respond_to? :get_deploy_policy + @get_deploy_policy = ::Gapic::Config::Method.new get_deploy_policy_config approve_rollout_config = parent_rpcs.approve_rollout if parent_rpcs.respond_to? :approve_rollout @approve_rollout = ::Gapic::Config::Method.new approve_rollout_config advance_rollout_config = parent_rpcs.advance_rollout if parent_rpcs.respond_to? :advance_rollout diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/service_stub.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/service_stub.rb index 9d0188013333..ebba8b9c24b0 100644 --- a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/service_stub.rb +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy/rest/service_stub.rb @@ -821,6 +821,196 @@ def abandon_release request_pb, options = nil result end + ## + # Baseline implementation for the create_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def create_deploy_policy request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_create_deploy_policy_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + + yield result, operation if block_given? + result + end + + ## + # Baseline implementation for the update_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def update_deploy_policy request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_update_deploy_policy_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + + yield result, operation if block_given? + result + end + + ## + # Baseline implementation for the delete_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def delete_deploy_policy request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_delete_deploy_policy_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + + yield result, operation if block_given? + result + end + + ## + # Baseline implementation for the list_deploy_policies REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse] + # A result object deserialized from the server's reply + def list_deploy_policies request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_list_deploy_policies_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse.decode_json response.body, ignore_unknown_fields: true + + yield result, operation if block_given? + result + end + + ## + # Baseline implementation for the get_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::GetDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::Deploy::V1::DeployPolicy] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::Deploy::V1::DeployPolicy] + # A result object deserialized from the server's reply + def get_deploy_policy request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_get_deploy_policy_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Cloud::Deploy::V1::DeployPolicy.decode_json response.body, ignore_unknown_fields: true + + yield result, operation if block_given? + result + end + ## # Baseline implementation for the approve_rollout REST call # @@ -2010,6 +2200,113 @@ def self.transcode_abandon_release_request request_pb transcoder.transcode request_pb end + ## + # @private + # + # GRPC transcoding helper method for the create_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_create_deploy_policy_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :post, + uri_template: "/v1/{parent}/deployPolicies", + body: "deploy_policy", + matches: [ + ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the update_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_update_deploy_policy_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :patch, + uri_template: "/v1/{deploy_policy.name}", + body: "deploy_policy", + matches: [ + ["deploy_policy.name", %r{^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the delete_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_delete_deploy_policy_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :delete, + uri_template: "/v1/{name}", + matches: [ + ["name", %r{^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the list_deploy_policies REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_list_deploy_policies_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/v1/{parent}/deployPolicies", + matches: [ + ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the get_deploy_policy REST call + # + # @param request_pb [::Google::Cloud::Deploy::V1::GetDeployPolicyRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_get_deploy_policy_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/v1/{name}", + matches: [ + ["name", %r{^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+/?$}, false] + ] + ) + transcoder.transcode request_pb + end + ## # @private # diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_pb.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_pb.rb index 4c7e7f21174c..b63e4441cd65 100644 --- a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_pb.rb +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_pb.rb @@ -14,9 +14,11 @@ require 'google/protobuf/field_mask_pb' require 'google/protobuf/timestamp_pb' require 'google/type/date_pb' +require 'google/type/dayofweek_pb' +require 'google/type/timeofday_pb' -descriptor_data = "\n)google/cloud/deploy/v1/cloud_deploy.proto\x12\x16google.cloud.deploy.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/date.proto\"\xe5\x05\n\x10\x44\x65liveryPipeline\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12N\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x39.google.cloud.deploy.v1.DeliveryPipeline.AnnotationsEntry\x12\x44\n\x06labels\x18\x05 \x03(\x0b\x32\x34.google.cloud.deploy.v1.DeliveryPipeline.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x0fserial_pipeline\x18\x08 \x01(\x0b\x32&.google.cloud.deploy.v1.SerialPipelineH\x00\x12\x41\n\tcondition\x18\x0b \x01(\x0b\x32).google.cloud.deploy.v1.PipelineConditionB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\n \x01(\t\x12\x11\n\tsuspended\x18\x0c \x01(\x08\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x7f\xea\x41|\n+clouddeploy.googleapis.com/DeliveryPipeline\x12Mprojects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}B\n\n\x08pipeline\"?\n\x0eSerialPipeline\x12-\n\x06stages\x18\x01 \x03(\x0b\x32\x1d.google.cloud.deploy.v1.Stage\"\xaf\x01\n\x05Stage\x12\x11\n\ttarget_id\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\x12\x37\n\x08strategy\x18\x05 \x01(\x0b\x32 .google.cloud.deploy.v1.StrategyB\x03\xe0\x41\x01\x12H\n\x11\x64\x65ploy_parameters\x18\x06 \x03(\x0b\x32(.google.cloud.deploy.v1.DeployParametersB\x03\xe0\x41\x01\"\xa9\x02\n\x10\x44\x65ployParameters\x12I\n\x06values\x18\x01 \x03(\x0b\x32\x34.google.cloud.deploy.v1.DeployParameters.ValuesEntryB\x03\xe0\x41\x02\x12\x61\n\x13match_target_labels\x18\x02 \x03(\x0b\x32?.google.cloud.deploy.v1.DeployParameters.MatchTargetLabelsEntryB\x03\xe0\x41\x01\x1a-\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x38\n\x16MatchTargetLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x89\x01\n\x08Strategy\x12\x34\n\x08standard\x18\x01 \x01(\x0b\x32 .google.cloud.deploy.v1.StandardH\x00\x12\x30\n\x06\x63\x61nary\x18\x02 \x01(\x0b\x32\x1e.google.cloud.deploy.v1.CanaryH\x00\x42\x15\n\x13\x64\x65ployment_strategy\"!\n\tPredeploy\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\"\n\nPostdeploy\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\x92\x01\n\x08Standard\x12\x0e\n\x06verify\x18\x01 \x01(\x08\x12\x39\n\tpredeploy\x18\x02 \x01(\x0b\x32!.google.cloud.deploy.v1.PredeployB\x03\xe0\x41\x01\x12;\n\npostdeploy\x18\x03 \x01(\x0b\x32\".google.cloud.deploy.v1.PostdeployB\x03\xe0\x41\x01\"\xef\x01\n\x06\x43\x61nary\x12\x42\n\x0eruntime_config\x18\x01 \x01(\x0b\x32%.google.cloud.deploy.v1.RuntimeConfigB\x03\xe0\x41\x01\x12\x45\n\x11\x63\x61nary_deployment\x18\x02 \x01(\x0b\x32(.google.cloud.deploy.v1.CanaryDeploymentH\x00\x12R\n\x18\x63ustom_canary_deployment\x18\x03 \x01(\x0b\x32..google.cloud.deploy.v1.CustomCanaryDeploymentH\x00\x42\x06\n\x04mode\"\xb4\x01\n\x10\x43\x61naryDeployment\x12\x18\n\x0bpercentages\x18\x01 \x03(\x05\x42\x03\xe0\x41\x02\x12\x0e\n\x06verify\x18\x02 \x01(\x08\x12\x39\n\tpredeploy\x18\x03 \x01(\x0b\x32!.google.cloud.deploy.v1.PredeployB\x03\xe0\x41\x01\x12;\n\npostdeploy\x18\x04 \x01(\x0b\x32\".google.cloud.deploy.v1.PostdeployB\x03\xe0\x41\x01\"\xca\x02\n\x16\x43ustomCanaryDeployment\x12V\n\rphase_configs\x18\x01 \x03(\x0b\x32:.google.cloud.deploy.v1.CustomCanaryDeployment.PhaseConfigB\x03\xe0\x41\x02\x1a\xd7\x01\n\x0bPhaseConfig\x12\x15\n\x08phase_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\npercentage\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02\x12\x10\n\x08profiles\x18\x03 \x03(\t\x12\x0e\n\x06verify\x18\x04 \x01(\x08\x12\x39\n\tpredeploy\x18\x05 \x01(\x0b\x32!.google.cloud.deploy.v1.PredeployB\x03\xe0\x41\x01\x12;\n\npostdeploy\x18\x06 \x01(\x0b\x32\".google.cloud.deploy.v1.PostdeployB\x03\xe0\x41\x01\"\xf1\x04\n\x10KubernetesConfig\x12[\n\x14gateway_service_mesh\x18\x01 \x01(\x0b\x32;.google.cloud.deploy.v1.KubernetesConfig.GatewayServiceMeshH\x00\x12X\n\x12service_networking\x18\x02 \x01(\x0b\x32:.google.cloud.deploy.v1.KubernetesConfig.ServiceNetworkingH\x00\x1a\xfe\x01\n\x12GatewayServiceMesh\x12\x17\n\nhttp_route\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07service\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\ndeployment\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12>\n\x16route_update_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12?\n\x17stable_cutback_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1f\n\x12pod_selector_label\x18\x06 \x01(\tB\x03\xe0\x41\x01\x1a\x8e\x01\n\x11ServiceNetworking\x12\x14\n\x07service\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\ndeployment\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12)\n\x1c\x64isable_pod_overprovisioning\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12pod_selector_label\x18\x04 \x01(\tB\x03\xe0\x41\x01\x42\x14\n\x12service_definition\"\x9b\x01\n\x0e\x43loudRunConfig\x12!\n\x19\x61utomatic_traffic_control\x18\x01 \x01(\x08\x12!\n\x14\x63\x61nary_revision_tags\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12 \n\x13prior_revision_tags\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12!\n\x14stable_revision_tags\x18\x04 \x03(\tB\x03\xe0\x41\x01\"\x9e\x01\n\rRuntimeConfig\x12>\n\nkubernetes\x18\x01 \x01(\x0b\x32(.google.cloud.deploy.v1.KubernetesConfigH\x00\x12;\n\tcloud_run\x18\x02 \x01(\x0b\x32&.google.cloud.deploy.v1.CloudRunConfigH\x00\x42\x10\n\x0eruntime_config\"Y\n\x16PipelineReadyCondition\x12\x0e\n\x06status\x18\x03 \x01(\x08\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9b\x01\n\x17TargetsPresentCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12?\n\x0fmissing_targets\x18\x02 \x03(\tB&\xfa\x41#\n!clouddeploy.googleapis.com/Target\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"=\n\x14TargetsTypeCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12\x15\n\rerror_details\x18\x02 \x01(\t\"\x87\x02\n\x11PipelineCondition\x12P\n\x18pipeline_ready_condition\x18\x01 \x01(\x0b\x32..google.cloud.deploy.v1.PipelineReadyCondition\x12R\n\x19targets_present_condition\x18\x03 \x01(\x0b\x32/.google.cloud.deploy.v1.TargetsPresentCondition\x12L\n\x16targets_type_condition\x18\x04 \x01(\x0b\x32,.google.cloud.deploy.v1.TargetsTypeCondition\"\xac\x01\n\x1cListDeliveryPipelinesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/DeliveryPipeline\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x93\x01\n\x1dListDeliveryPipelinesResponse\x12\x44\n\x12\x64\x65livery_pipelines\x18\x01 \x03(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipeline\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetDeliveryPipelineRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\"\x86\x02\n\x1d\x43reateDeliveryPipelineRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/DeliveryPipeline\x12!\n\x14\x64\x65livery_pipeline_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12H\n\x11\x64\x65livery_pipeline\x18\x03 \x01(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipelineB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xf0\x01\n\x1dUpdateDeliveryPipelineRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12H\n\x11\x64\x65livery_pipeline\x18\x02 \x01(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipelineB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xda\x01\n\x1d\x44\x65leteDeliveryPipelineRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x12\n\x05\x66orce\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"m\n\x14RollbackTargetConfig\x12\x35\n\x07rollout\x18\x01 \x01(\x0b\x32\x1f.google.cloud.deploy.v1.RolloutB\x03\xe0\x41\x01\x12\x1e\n\x11starting_phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xaf\x02\n\x15RollbackTargetRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x16\n\ttarget_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nrollout_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nrelease_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12!\n\x14rollout_to_roll_back\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12J\n\x0frollback_config\x18\x06 \x01(\x0b\x32,.google.cloud.deploy.v1.RollbackTargetConfigB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\"_\n\x16RollbackTargetResponse\x12\x45\n\x0frollback_config\x18\x01 \x01(\x0b\x32,.google.cloud.deploy.v1.RollbackTargetConfig\"\xf8\x08\n\x06Target\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\ttarget_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12I\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32/.google.cloud.deploy.v1.Target.AnnotationsEntryB\x03\xe0\x41\x01\x12?\n\x06labels\x18\x06 \x03(\x0b\x32*.google.cloud.deploy.v1.Target.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10require_approval\x18\r \x01(\x08\x42\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\x03gke\x18\x0f \x01(\x0b\x32\".google.cloud.deploy.v1.GkeClusterB\x03\xe0\x41\x01H\x00\x12\x44\n\x0e\x61nthos_cluster\x18\x11 \x01(\x0b\x32%.google.cloud.deploy.v1.AnthosClusterB\x03\xe0\x41\x01H\x00\x12<\n\x03run\x18\x12 \x01(\x0b\x32(.google.cloud.deploy.v1.CloudRunLocationB\x03\xe0\x41\x01H\x00\x12@\n\x0cmulti_target\x18\x13 \x01(\x0b\x32#.google.cloud.deploy.v1.MultiTargetB\x03\xe0\x41\x01H\x00\x12\x42\n\rcustom_target\x18\x15 \x01(\x0b\x32$.google.cloud.deploy.v1.CustomTargetB\x03\xe0\x41\x01H\x00\x12\x11\n\x04\x65tag\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12\x42\n\x11\x65xecution_configs\x18\x10 \x03(\x0b\x32\'.google.cloud.deploy.v1.ExecutionConfig\x12T\n\x11\x64\x65ploy_parameters\x18\x14 \x03(\x0b\x32\x34.google.cloud.deploy.v1.Target.DeployParametersEntryB\x03\xe0\x41\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x37\n\x15\x44\x65ployParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:`\xea\x41]\n!clouddeploy.googleapis.com/Target\x12\x38projects/{project}/locations/{location}/targets/{target}B\x13\n\x11\x64\x65ployment_target\"\xe5\x04\n\x0f\x45xecutionConfig\x12V\n\x06usages\x18\x01 \x03(\x0e\x32\x41.google.cloud.deploy.v1.ExecutionConfig.ExecutionEnvironmentUsageB\x03\xe0\x41\x02\x12@\n\x0c\x64\x65\x66\x61ult_pool\x18\x02 \x01(\x0b\x32#.google.cloud.deploy.v1.DefaultPoolB\x03\xe0\x41\x01H\x00\x12@\n\x0cprivate_pool\x18\x03 \x01(\x0b\x32#.google.cloud.deploy.v1.PrivatePoolB\x03\xe0\x41\x01H\x00\x12\x41\n\x0bworker_pool\x18\x04 \x01(\tB,\xe0\x41\x01\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPool\x12\x1c\n\x0fservice_account\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x61rtifact_storage\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x39\n\x11\x65xecution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x14\n\x07verbose\x18\x08 \x01(\x08\x42\x03\xe0\x41\x01\"\x8b\x01\n\x19\x45xecutionEnvironmentUsage\x12+\n\'EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED\x10\x00\x12\n\n\x06RENDER\x10\x01\x12\n\n\x06\x44\x45PLOY\x10\x02\x12\n\n\x06VERIFY\x10\x03\x12\r\n\tPREDEPLOY\x10\x04\x12\x0e\n\nPOSTDEPLOY\x10\x05\x42\x17\n\x15\x65xecution_environment\"J\n\x0b\x44\x65\x66\x61ultPool\x12\x1c\n\x0fservice_account\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x61rtifact_storage\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x8d\x01\n\x0bPrivatePool\x12\x41\n\x0bworker_pool\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPool\x12\x1c\n\x0fservice_account\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x61rtifact_storage\x18\x03 \x01(\tB\x03\xe0\x41\x01\"y\n\nGkeCluster\x12\x39\n\x07\x63luster\x18\x01 \x01(\tB(\xe0\x41\x01\xfa\x41\"\n container.googleapis.com/Cluster\x12\x18\n\x0binternal_ip\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x16\n\tproxy_url\x18\x03 \x01(\tB\x03\xe0\x41\x01\"M\n\rAnthosCluster\x12<\n\nmembership\x18\x01 \x01(\tB(\xe0\x41\x01\xfa\x41\"\n gkehub.googleapis.com/Membership\"O\n\x10\x43loudRunLocation\x12;\n\x08location\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\"&\n\x0bMultiTarget\x12\x17\n\ntarget_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02\"_\n\x0c\x43ustomTarget\x12O\n\x12\x63ustom_target_type\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/CustomTargetType\"\xac\x01\n\x12ListTargetsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!clouddeploy.googleapis.com/Target\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"t\n\x13ListTargetsResponse\x12/\n\x07targets\x18\x01 \x03(\x0b\x32\x1e.google.cloud.deploy.v1.Target\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetTargetRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/Target\"\xd2\x01\n\x13\x43reateTargetRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!clouddeploy.googleapis.com/Target\x12\x16\n\ttarget_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x06target\x18\x03 \x01(\x0b\x32\x1e.google.cloud.deploy.v1.TargetB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xd1\x01\n\x13UpdateTargetRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x33\n\x06target\x18\x02 \x01(\x0b\x32\x1e.google.cloud.deploy.v1.TargetB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xb2\x01\n\x13\x44\x65leteTargetRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/Target\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xd7\x05\n\x10\x43ustomTargetType\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\"\n\x15\x63ustom_target_type_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12S\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x39.google.cloud.deploy.v1.CustomTargetType.AnnotationsEntryB\x03\xe0\x41\x01\x12I\n\x06labels\x18\x06 \x03(\x0b\x32\x34.google.cloud.deploy.v1.CustomTargetType.LabelsEntryB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\t \x01(\tB\x03\xe0\x41\x01\x12M\n\x0e\x63ustom_actions\x18\n \x01(\x0b\x32\x33.google.cloud.deploy.v1.CustomTargetSkaffoldActionsH\x00\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x80\x01\xea\x41}\n+clouddeploy.googleapis.com/CustomTargetType\x12Nprojects/{project}/locations/{location}/customTargetTypes/{custom_target_type}B\x0c\n\ndefinition\"\xa5\x01\n\x1b\x43ustomTargetSkaffoldActions\x12\x1a\n\rrender_action\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rdeploy_action\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12N\n\x18include_skaffold_modules\x18\x03 \x03(\x0b\x32\'.google.cloud.deploy.v1.SkaffoldModulesB\x03\xe0\x41\x01\"\xc2\x04\n\x0fSkaffoldModules\x12\x14\n\x07\x63onfigs\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12H\n\x03git\x18\x02 \x01(\x0b\x32\x39.google.cloud.deploy.v1.SkaffoldModules.SkaffoldGitSourceH\x00\x12Y\n\x14google_cloud_storage\x18\x03 \x01(\x0b\x32\x39.google.cloud.deploy.v1.SkaffoldModules.SkaffoldGCSSourceH\x00\x12`\n\x17google_cloud_build_repo\x18\x04 \x01(\x0b\x32=.google.cloud.deploy.v1.SkaffoldModules.SkaffoldGCBRepoSourceH\x00\x1aK\n\x11SkaffoldGitSource\x12\x11\n\x04repo\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04path\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03ref\x18\x03 \x01(\tB\x03\xe0\x41\x01\x1a;\n\x11SkaffoldGCSSource\x12\x13\n\x06source\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04path\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a~\n\x15SkaffoldGCBRepoSource\x12@\n\nrepository\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$cloudbuild.googleapis.com/Repository\x12\x11\n\x04path\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03ref\x18\x03 \x01(\tB\x03\xe0\x41\x01\x42\x08\n\x06source\"\xc0\x01\n\x1cListCustomTargetTypesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/CustomTargetType\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x94\x01\n\x1dListCustomTargetTypesResponse\x12\x45\n\x13\x63ustom_target_types\x18\x01 \x03(\x0b\x32(.google.cloud.deploy.v1.CustomTargetType\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetCustomTargetTypeRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/CustomTargetType\"\x88\x02\n\x1d\x43reateCustomTargetTypeRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/CustomTargetType\x12\"\n\x15\x63ustom_target_type_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12I\n\x12\x63ustom_target_type\x18\x03 \x01(\x0b\x32(.google.cloud.deploy.v1.CustomTargetTypeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xf1\x01\n\x1dUpdateCustomTargetTypeRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12I\n\x12\x63ustom_target_type\x18\x02 \x01(\x0b\x32(.google.cloud.deploy.v1.CustomTargetTypeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xc6\x01\n\x1d\x44\x65leteCustomTargetTypeRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/CustomTargetType\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x91\x01\n\x0fTargetAttribute\x12\n\n\x02id\x18\x01 \x01(\t\x12\x43\n\x06labels\x18\x02 \x03(\x0b\x32\x33.google.cloud.deploy.v1.TargetAttribute.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xae\x17\n\x07Release\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x45\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x30.google.cloud.deploy.v1.Release.AnnotationsEntry\x12;\n\x06labels\x18\x05 \x03(\x0b\x32+.google.cloud.deploy.v1.Release.LabelsEntry\x12\x16\n\tabandoned\x18\x17 \x01(\x08\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11render_start_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x38\n\x0frender_end_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x13skaffold_config_uri\x18\x11 \x01(\t\x12\x1c\n\x14skaffold_config_path\x18\t \x01(\t\x12>\n\x0f\x62uild_artifacts\x18\n \x03(\x0b\x32%.google.cloud.deploy.v1.BuildArtifact\x12Q\n\x1a\x64\x65livery_pipeline_snapshot\x18\x0b \x01(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipelineB\x03\xe0\x41\x03\x12=\n\x10target_snapshots\x18\x0c \x03(\x0b\x32\x1e.google.cloud.deploy.v1.TargetB\x03\xe0\x41\x03\x12S\n\x1c\x63ustom_target_type_snapshots\x18\x1b \x03(\x0b\x32(.google.cloud.deploy.v1.CustomTargetTypeB\x03\xe0\x41\x03\x12\x46\n\x0crender_state\x18\r \x01(\x0e\x32+.google.cloud.deploy.v1.Release.RenderStateB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\x10 \x01(\t\x12\x18\n\x10skaffold_version\x18\x13 \x01(\t\x12S\n\x10target_artifacts\x18\x14 \x03(\x0b\x32\x34.google.cloud.deploy.v1.Release.TargetArtifactsEntryB\x03\xe0\x41\x03\x12O\n\x0etarget_renders\x18\x16 \x03(\x0b\x32\x32.google.cloud.deploy.v1.Release.TargetRendersEntryB\x03\xe0\x41\x03\x12H\n\tcondition\x18\x18 \x01(\x0b\x32\x30.google.cloud.deploy.v1.Release.ReleaseConditionB\x03\xe0\x41\x03\x12U\n\x11\x64\x65ploy_parameters\x18\x19 \x03(\x0b\x32\x35.google.cloud.deploy.v1.Release.DeployParametersEntryB\x03\xe0\x41\x01\x1a\xd4\x05\n\x0cTargetRender\x12@\n\x0frendering_build\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12\\\n\x0frendering_state\x18\x02 \x01(\x0e\x32>.google.cloud.deploy.v1.Release.TargetRender.TargetRenderStateB\x03\xe0\x41\x03\x12=\n\x08metadata\x18\x06 \x01(\x0b\x32&.google.cloud.deploy.v1.RenderMetadataB\x03\xe0\x41\x03\x12U\n\rfailure_cause\x18\x04 \x01(\x0e\x32\x39.google.cloud.deploy.v1.Release.TargetRender.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\"d\n\x11TargetRenderState\x12#\n\x1fTARGET_RENDER_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\"\x89\x02\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x03\x12!\n\x1dVERIFICATION_CONFIG_NOT_FOUND\x10\x04\x12\x1b\n\x17\x43USTOM_ACTION_NOT_FOUND\x10\x05\x12%\n!DEPLOYMENT_STRATEGY_NOT_SUPPORTED\x10\x06\x12 \n\x1cRENDER_FEATURE_NOT_SUPPORTED\x10\x07\x1a\'\n\x15ReleaseReadyCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x1a\xf2\x01\n\x1aSkaffoldSupportedCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12L\n\x16skaffold_support_state\x18\x02 \x01(\x0e\x32,.google.cloud.deploy.v1.SkaffoldSupportState\x12\x39\n\x15maintenance_mode_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17support_expiration_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xcc\x01\n\x10ReleaseCondition\x12V\n\x17release_ready_condition\x18\x01 \x01(\x0b\x32\x35.google.cloud.deploy.v1.Release.ReleaseReadyCondition\x12`\n\x1cskaffold_supported_condition\x18\x02 \x01(\x0b\x32:.google.cloud.deploy.v1.Release.SkaffoldSupportedCondition\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a^\n\x14TargetArtifactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.google.cloud.deploy.v1.TargetArtifact:\x02\x38\x01\x1a\x62\n\x12TargetRendersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12;\n\x05value\x18\x02 \x01(\x0b\x32,.google.cloud.deploy.v1.Release.TargetRender:\x02\x38\x01\x1a\x37\n\x15\x44\x65ployParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"W\n\x0bRenderState\x12\x1c\n\x18RENDER_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03:\x8a\x01\xea\x41\x86\x01\n\"clouddeploy.googleapis.com/Release\x12`projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}\"+\n\rBuildArtifact\x12\r\n\x05image\x18\x03 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\"\xab\x03\n\x0eTargetArtifact\x12\x1b\n\x0c\x61rtifact_uri\x18\x04 \x01(\tB\x03\xe0\x41\x03H\x00\x12!\n\x14skaffold_config_path\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rmanifest_path\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12X\n\x0fphase_artifacts\x18\x05 \x03(\x0b\x32:.google.cloud.deploy.v1.TargetArtifact.PhaseArtifactsEntryB\x03\xe0\x41\x03\x1ao\n\rPhaseArtifact\x12!\n\x14skaffold_config_path\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rmanifest_path\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12job_manifests_path\x18\x04 \x01(\tB\x03\xe0\x41\x03\x1ak\n\x13PhaseArtifactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\x34.google.cloud.deploy.v1.TargetArtifact.PhaseArtifact:\x02\x38\x01\x42\x05\n\x03uri\"H\n\x0e\x44\x65ployArtifact\x12\x19\n\x0c\x61rtifact_uri\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0emanifest_paths\x18\x02 \x03(\tB\x03\xe0\x41\x03\"M\n\x16\x43loudRunRenderMetadata\x12\x33\n\x07service\x18\x01 \x01(\tB\"\xe0\x41\x03\xfa\x41\x1c\n\x1arun.googleapis.com/Service\"\x95\x01\n\x0eRenderMetadata\x12\x46\n\tcloud_run\x18\x01 \x01(\x0b\x32..google.cloud.deploy.v1.CloudRunRenderMetadataB\x03\xe0\x41\x03\x12;\n\x06\x63ustom\x18\x02 \x01(\x0b\x32&.google.cloud.deploy.v1.CustomMetadataB\x03\xe0\x41\x03\"\xb7\x01\n\x13ListReleasesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"w\n\x14ListReleasesResponse\x12\x31\n\x08releases\x18\x01 \x03(\x0b\x32\x1f.google.cloud.deploy.v1.Release\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"M\n\x11GetReleaseRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\"\xe0\x01\n\x14\x43reateReleaseRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x17\n\nrelease_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x35\n\x07release\x18\x03 \x01(\x0b\x32\x1f.google.cloud.deploy.v1.ReleaseB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xe8\x0e\n\x07Rollout\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x45\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x30.google.cloud.deploy.v1.Rollout.AnnotationsEntry\x12;\n\x06labels\x18\x05 \x03(\x0b\x32+.google.cloud.deploy.v1.Rollout.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x61pprove_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x65nqueue_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11\x64\x65ploy_start_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x38\n\x0f\x64\x65ploy_end_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x16\n\ttarget_id\x18\x12 \x01(\tB\x03\xe0\x41\x02\x12J\n\x0e\x61pproval_state\x18\x0c \x01(\x0e\x32-.google.cloud.deploy.v1.Rollout.ApprovalStateB\x03\xe0\x41\x03\x12\x39\n\x05state\x18\r \x01(\x0e\x32%.google.cloud.deploy.v1.Rollout.StateB\x03\xe0\x41\x03\x12\x1b\n\x0e\x66\x61ilure_reason\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12@\n\x0f\x64\x65ploying_build\x18\x11 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12\x0c\n\x04\x65tag\x18\x10 \x01(\t\x12O\n\x14\x64\x65ploy_failure_cause\x18\x13 \x01(\x0e\x32,.google.cloud.deploy.v1.Rollout.FailureCauseB\x03\xe0\x41\x03\x12\x32\n\x06phases\x18\x17 \x03(\x0b\x32\x1d.google.cloud.deploy.v1.PhaseB\x03\xe0\x41\x03\x12\x37\n\x08metadata\x18\x18 \x01(\x0b\x32 .google.cloud.deploy.v1.MetadataB\x03\xe0\x41\x03\x12\x1f\n\x12\x63ontroller_rollout\x18\x19 \x01(\tB\x03\xe0\x41\x03\x12 \n\x13rollback_of_rollout\x18\x1a \x01(\tB\x03\xe0\x41\x03\x12$\n\x17rolled_back_by_rollouts\x18\x1b \x03(\tB\x03\xe0\x41\x03\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"{\n\rApprovalState\x12\x1e\n\x1a\x41PPROVAL_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0eNEEDS_APPROVAL\x10\x01\x12\x1a\n\x16\x44OES_NOT_NEED_APPROVAL\x10\x02\x12\x0c\n\x08\x41PPROVED\x10\x03\x12\x0c\n\x08REJECTED\x10\x04\"\xc4\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\x12\x14\n\x10PENDING_APPROVAL\x10\x04\x12\x15\n\x11\x41PPROVAL_REJECTED\x10\x05\x12\x0b\n\x07PENDING\x10\x06\x12\x13\n\x0fPENDING_RELEASE\x10\x07\x12\x0e\n\nCANCELLING\x10\x08\x12\r\n\tCANCELLED\x10\t\x12\n\n\x06HALTED\x10\n\"\x8a\x02\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12\x12\n\x0eRELEASE_FAILED\x10\x04\x12\x15\n\x11RELEASE_ABANDONED\x10\x05\x12!\n\x1dVERIFICATION_CONFIG_NOT_FOUND\x10\x06\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x07\x12#\n\x1fOPERATION_FEATURE_NOT_SUPPORTED\x10\x08:\x9d\x01\xea\x41\x99\x01\n\"clouddeploy.googleapis.com/Rollout\x12sprojects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}\"\xd5\x01\n\x08Metadata\x12@\n\tcloud_run\x18\x01 \x01(\x0b\x32(.google.cloud.deploy.v1.CloudRunMetadataB\x03\xe0\x41\x03\x12J\n\nautomation\x18\x02 \x01(\x0b\x32\x31.google.cloud.deploy.v1.AutomationRolloutMetadataB\x03\xe0\x41\x03\x12;\n\x06\x63ustom\x18\x03 \x01(\x0b\x32&.google.cloud.deploy.v1.CustomMetadataB\x03\xe0\x41\x03\"\xe5\x01\n\x14\x44\x65ployJobRunMetadata\x12@\n\tcloud_run\x18\x01 \x01(\x0b\x32(.google.cloud.deploy.v1.CloudRunMetadataB\x03\xe0\x41\x03\x12N\n\rcustom_target\x18\x02 \x01(\x0b\x32\x32.google.cloud.deploy.v1.CustomTargetDeployMetadataB\x03\xe0\x41\x03\x12;\n\x06\x63ustom\x18\x03 \x01(\x0b\x32&.google.cloud.deploy.v1.CustomMetadataB\x03\xe0\x41\x03\"\xa6\x01\n\x10\x43loudRunMetadata\x12\x33\n\x07service\x18\x01 \x01(\tB\"\xe0\x41\x03\xfa\x41\x1c\n\x1arun.googleapis.com/Service\x12\x19\n\x0cservice_urls\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12\x15\n\x08revision\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12+\n\x03job\x18\x04 \x01(\tB\x1e\xe0\x41\x03\xfa\x41\x18\n\x16run.googleapis.com/Job\"7\n\x1a\x43ustomTargetDeployMetadata\x12\x19\n\x0cskip_message\x18\x01 \x01(\tB\x03\xe0\x41\x03\"\x8b\x01\n\x19\x41utomationRolloutMetadata\x12#\n\x16promote_automation_run\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12$\n\x17\x61\x64vance_automation_runs\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12#\n\x16repair_automation_runs\x18\x03 \x03(\tB\x03\xe0\x41\x03\"\x88\x01\n\x0e\x43ustomMetadata\x12G\n\x06values\x18\x01 \x03(\x0b\x32\x32.google.cloud.deploy.v1.CustomMetadata.ValuesEntryB\x03\xe0\x41\x03\x1a-\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xfc\x02\n\x05Phase\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x37\n\x05state\x18\x03 \x01(\x0e\x32#.google.cloud.deploy.v1.Phase.StateB\x03\xe0\x41\x03\x12\x19\n\x0cskip_message\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x0f\x64\x65ployment_jobs\x18\x04 \x01(\x0b\x32&.google.cloud.deploy.v1.DeploymentJobsB\x03\xe0\x41\x03H\x00\x12K\n\x12\x63hild_rollout_jobs\x18\x05 \x01(\x0b\x32(.google.cloud.deploy.v1.ChildRolloutJobsB\x03\xe0\x41\x03H\x00\"q\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0f\n\x0bIN_PROGRESS\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0b\n\x07\x41\x42ORTED\x10\x05\x12\x0b\n\x07SKIPPED\x10\x06\x42\x06\n\x04jobs\"\xef\x01\n\x0e\x44\x65ploymentJobs\x12\x34\n\ndeploy_job\x18\x01 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12\x34\n\nverify_job\x18\x02 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12\x37\n\rpredeploy_job\x18\x03 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12\x38\n\x0epostdeploy_job\x18\x04 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\"\x91\x01\n\x10\x43hildRolloutJobs\x12=\n\x13\x63reate_rollout_jobs\x18\x01 \x03(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12>\n\x14\x61\x64vance_rollout_jobs\x18\x02 \x03(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\"\xf7\x05\n\x03Job\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x35\n\x05state\x18\x02 \x01(\x0e\x32!.google.cloud.deploy.v1.Job.StateB\x03\xe0\x41\x03\x12\x19\n\x0cskip_message\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12:\n\x07job_run\x18\x03 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!clouddeploy.googleapis.com/JobRun\x12<\n\ndeploy_job\x18\x04 \x01(\x0b\x32!.google.cloud.deploy.v1.DeployJobB\x03\xe0\x41\x03H\x00\x12<\n\nverify_job\x18\x05 \x01(\x0b\x32!.google.cloud.deploy.v1.VerifyJobB\x03\xe0\x41\x03H\x00\x12\x42\n\rpredeploy_job\x18\t \x01(\x0b\x32$.google.cloud.deploy.v1.PredeployJobB\x03\xe0\x41\x03H\x00\x12\x44\n\x0epostdeploy_job\x18\n \x01(\x0b\x32%.google.cloud.deploy.v1.PostdeployJobB\x03\xe0\x41\x03H\x00\x12V\n\x18\x63reate_child_rollout_job\x18\x06 \x01(\x0b\x32-.google.cloud.deploy.v1.CreateChildRolloutJobB\x03\xe0\x41\x03H\x00\x12X\n\x19\x61\x64vance_child_rollout_job\x18\x07 \x01(\x0b\x32..google.cloud.deploy.v1.AdvanceChildRolloutJobB\x03\xe0\x41\x03H\x00\"\x8c\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05\x12\x0b\n\x07\x41\x42ORTED\x10\x06\x12\x0b\n\x07SKIPPED\x10\x07\x12\x0b\n\x07IGNORED\x10\x08\x42\n\n\x08job_type\"\x0b\n\tDeployJob\"\x0b\n\tVerifyJob\"$\n\x0cPredeployJob\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x03\"%\n\rPostdeployJob\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x03\"\x17\n\x15\x43reateChildRolloutJob\"\x18\n\x16\x41\x64vanceChildRolloutJob\"\xae\x01\n\x13ListRolloutsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"w\n\x14ListRolloutsResponse\x12\x31\n\x08rollouts\x18\x01 \x03(\x0b\x32\x1f.google.cloud.deploy.v1.Rollout\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"M\n\x11GetRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\"\xf7\x01\n\x14\x43reateRolloutRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\x12\x17\n\nrollout_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x35\n\x07rollout\x18\x03 \x01(\x0b\x32\x1f.google.cloud.deploy.v1.RolloutB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1e\n\x11starting_phase_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\"h\n\x15\x41pproveRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08\x61pproved\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02\"\x18\n\x16\x41pproveRolloutResponse\"h\n\x15\x41\x64vanceRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\x18\n\x16\x41\x64vanceRolloutResponse\"P\n\x14\x43\x61ncelRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\"\x17\n\x15\x43\x61ncelRolloutResponse\"{\n\x10IgnoreJobRequest\x12;\n\x07rollout\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x13\n\x06job_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\x13\n\x11IgnoreJobResponse\"z\n\x0fRetryJobRequest\x12;\n\x07rollout\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x13\n\x06job_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\x12\n\x10RetryJobResponse\"Q\n\x15\x41\x62\x61ndonReleaseRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\"\x18\n\x16\x41\x62\x61ndonReleaseResponse\"\xd0\x08\n\x06JobRun\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08phase_id\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06job_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x33\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x38\n\x05state\x18\x08 \x01(\x0e\x32$.google.cloud.deploy.v1.JobRun.StateB\x03\xe0\x41\x03\x12\x43\n\x0e\x64\x65ploy_job_run\x18\t \x01(\x0b\x32$.google.cloud.deploy.v1.DeployJobRunB\x03\xe0\x41\x03H\x00\x12\x43\n\x0everify_job_run\x18\n \x01(\x0b\x32$.google.cloud.deploy.v1.VerifyJobRunB\x03\xe0\x41\x03H\x00\x12I\n\x11predeploy_job_run\x18\x0e \x01(\x0b\x32\'.google.cloud.deploy.v1.PredeployJobRunB\x03\xe0\x41\x03H\x00\x12K\n\x12postdeploy_job_run\x18\x0f \x01(\x0b\x32(.google.cloud.deploy.v1.PostdeployJobRunB\x03\xe0\x41\x03H\x00\x12]\n\x1c\x63reate_child_rollout_job_run\x18\x0c \x01(\x0b\x32\x30.google.cloud.deploy.v1.CreateChildRolloutJobRunB\x03\xe0\x41\x03H\x00\x12_\n\x1d\x61\x64vance_child_rollout_job_run\x18\r \x01(\x0b\x32\x31.google.cloud.deploy.v1.AdvanceChildRolloutJobRunB\x03\xe0\x41\x03H\x00\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\"k\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x12\x0f\n\x0bTERMINATING\x10\x04\x12\x0e\n\nTERMINATED\x10\x05:\xaf\x01\xea\x41\xab\x01\n!clouddeploy.googleapis.com/JobRun\x12\x85\x01projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{job_run}B\t\n\x07job_run\"\x95\x04\n\x0c\x44\x65ployJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12M\n\rfailure_cause\x18\x02 \x01(\x0e\x32\x31.google.cloud.deploy.v1.DeployJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x43\n\x08metadata\x18\x04 \x01(\x0b\x32,.google.cloud.deploy.v1.DeployJobRunMetadataB\x03\xe0\x41\x03\x12=\n\x08\x61rtifact\x18\x05 \x01(\x0b\x32&.google.cloud.deploy.v1.DeployArtifactB\x03\xe0\x41\x03\"\xdb\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12 \n\x1cMISSING_RESOURCES_FOR_CANARY\x10\x04\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x05\x12 \n\x1c\x44\x45PLOY_FEATURE_NOT_SUPPORTED\x10\x06\"\xa8\x03\n\x0cVerifyJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12\x19\n\x0c\x61rtifact_uri\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0e\x65vent_log_path\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12M\n\rfailure_cause\x18\x04 \x01(\x0e\x32\x31.google.cloud.deploy.v1.VerifyJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\xba\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12!\n\x1dVERIFICATION_CONFIG_NOT_FOUND\x10\x04\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x05\"\xd3\x02\n\x0fPredeployJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12P\n\rfailure_cause\x18\x02 \x01(\x0e\x32\x34.google.cloud.deploy.v1.PredeployJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\x97\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x04\"\xd5\x02\n\x10PostdeployJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12Q\n\rfailure_cause\x18\x02 \x01(\x0e\x32\x35.google.cloud.deploy.v1.PostdeployJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\x97\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x04\"O\n\x18\x43reateChildRolloutJobRun\x12\x14\n\x07rollout\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1d\n\x10rollout_phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\"P\n\x19\x41\x64vanceChildRolloutJobRun\x12\x14\n\x07rollout\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1d\n\x10rollout_phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\"\xad\x01\n\x12ListJobRunsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"u\n\x13ListJobRunsResponse\x12\x30\n\x08job_runs\x18\x01 \x03(\x0b\x32\x1e.google.cloud.deploy.v1.JobRun\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetJobRunRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/JobRun\"Q\n\x16TerminateJobRunRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/JobRun\"\x19\n\x17TerminateJobRunResponse\"\xd5\x01\n\x06\x43onfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x12supported_versions\x18\x02 \x03(\x0b\x32\'.google.cloud.deploy.v1.SkaffoldVersion\x12 \n\x18\x64\x65\x66\x61ult_skaffold_version\x18\x03 \x01(\t:V\xea\x41S\n!clouddeploy.googleapis.com/Config\x12.projects/{project}/locations/{location}/config\"\xc7\x01\n\x0fSkaffoldVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x39\n\x15maintenance_mode_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17support_expiration_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x10support_end_date\x18\x02 \x01(\x0b\x32\x11.google.type.Date\"K\n\x10GetConfigRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/Config\"\x97\x06\n\nAutomation\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12M\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32\x33.google.cloud.deploy.v1.Automation.AnnotationsEntryB\x03\xe0\x41\x01\x12\x43\n\x06labels\x18\x07 \x03(\x0b\x32..google.cloud.deploy.v1.Automation.LabelsEntryB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tsuspended\x18\t \x01(\x08\x42\x03\xe0\x41\x01\x12\x1c\n\x0fservice_account\x18\n \x01(\tB\x03\xe0\x41\x02\x12I\n\x08selector\x18\x0b \x01(\x0b\x32\x32.google.cloud.deploy.v1.AutomationResourceSelectorB\x03\xe0\x41\x02\x12:\n\x05rules\x18\x0e \x03(\x0b\x32&.google.cloud.deploy.v1.AutomationRuleB\x03\xe0\x41\x02\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x96\x01\xea\x41\x92\x01\n%clouddeploy.googleapis.com/Automation\x12\x66projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}R\x01\x01\"V\n\x1a\x41utomationResourceSelector\x12\x38\n\x07targets\x18\x01 \x03(\x0b\x32\'.google.cloud.deploy.v1.TargetAttribute\"\x89\x02\n\x0e\x41utomationRule\x12O\n\x14promote_release_rule\x18\x01 \x01(\x0b\x32*.google.cloud.deploy.v1.PromoteReleaseRuleB\x03\xe0\x41\x01H\x00\x12O\n\x14\x61\x64vance_rollout_rule\x18\x02 \x01(\x0b\x32*.google.cloud.deploy.v1.AdvanceRolloutRuleB\x03\xe0\x41\x01H\x00\x12M\n\x13repair_rollout_rule\x18\x03 \x01(\x0b\x32).google.cloud.deploy.v1.RepairRolloutRuleB\x03\xe0\x41\x01H\x00\x42\x06\n\x04rule\"\xe0\x01\n\x12PromoteReleaseRule\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\"\n\x15\x64\x65stination_target_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12G\n\tcondition\x18\x05 \x01(\x0b\x32/.google.cloud.deploy.v1.AutomationRuleConditionB\x03\xe0\x41\x03\x12\x1e\n\x11\x64\x65stination_phase\x18\x08 \x01(\tB\x03\xe0\x41\x01\"\xb8\x01\n\x12\x41\x64vanceRolloutRule\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rsource_phases\x18\x06 \x03(\tB\x03\xe0\x41\x01\x12,\n\x04wait\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12G\n\tcondition\x18\x05 \x01(\x0b\x32/.google.cloud.deploy.v1.AutomationRuleConditionB\x03\xe0\x41\x03\"\x80\x01\n\x11RepairRolloutRule\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04jobs\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12G\n\tcondition\x18\x06 \x01(\x0b\x32/.google.cloud.deploy.v1.AutomationRuleConditionB\x03\xe0\x41\x03\"r\n\x17\x41utomationRuleCondition\x12W\n\x19targets_present_condition\x18\x01 \x01(\x0b\x32/.google.cloud.deploy.v1.TargetsPresentConditionB\x03\xe0\x41\x01\"\xe6\x01\n\x17\x43reateAutomationRequest\x12=\n\x06parent\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\x12%clouddeploy.googleapis.com/Automation\x12\x1a\n\rautomation_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12;\n\nautomation\x18\x03 \x01(\x0b\x32\".google.cloud.deploy.v1.AutomationB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xdd\x01\n\x17UpdateAutomationRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12;\n\nautomation\x18\x02 \x01(\x0b\x32\".google.cloud.deploy.v1.AutomationB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xba\x01\n\x17\x44\x65leteAutomationRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%clouddeploy.googleapis.com/Automation\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xa0\x01\n\x16ListAutomationsRequest\x12=\n\x06parent\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\x12%clouddeploy.googleapis.com/Automation\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x80\x01\n\x17ListAutomationsResponse\x12\x37\n\x0b\x61utomations\x18\x01 \x03(\x0b\x32\".google.cloud.deploy.v1.Automation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"S\n\x14GetAutomationRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%clouddeploy.googleapis.com/Automation\"\xd1\x08\n\rAutomationRun\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1c\n\x0fservice_account\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x44\n\x13\x61utomation_snapshot\x18\x06 \x01(\x0b\x32\".google.cloud.deploy.v1.AutomationB\x03\xe0\x41\x03\x12\x16\n\ttarget_id\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12?\n\x05state\x18\x08 \x01(\x0e\x32+.google.cloud.deploy.v1.AutomationRun.StateB\x03\xe0\x41\x03\x12\x1e\n\x11state_description\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x14\n\x07rule_id\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rautomation_id\x18\x0f \x01(\tB\x03\xe0\x41\x03\x12Y\n\x19promote_release_operation\x18\r \x01(\x0b\x32/.google.cloud.deploy.v1.PromoteReleaseOperationB\x03\xe0\x41\x03H\x00\x12Y\n\x19\x61\x64vance_rollout_operation\x18\x0e \x01(\x0b\x32/.google.cloud.deploy.v1.AdvanceRolloutOperationB\x03\xe0\x41\x03H\x00\x12W\n\x18repair_rollout_operation\x18\x11 \x01(\x0b\x32..google.cloud.deploy.v1.RepairRolloutOperationB\x03\xe0\x41\x03H\x00\x12\x38\n\x0fwait_until_time\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"s\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\r\n\tCANCELLED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x12\x0f\n\x0bIN_PROGRESS\x10\x04\x12\x0b\n\x07PENDING\x10\x05\x12\x0b\n\x07\x41\x42ORTED\x10\x06:\x9d\x01\xea\x41\x99\x01\n(clouddeploy.googleapis.com/AutomationRun\x12mprojects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}B\x0b\n\toperation\"\x89\x01\n\x17PromoteReleaseOperation\x12\x16\n\ttarget_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x14\n\x07rollout\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x12\n\x05phase\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\x98\x01\n\x17\x41\x64vanceRolloutOperation\x12\x19\n\x0csource_phase\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x14\n\x07rollout\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1e\n\x11\x64\x65stination_phase\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\x9b\x01\n\x16RepairRolloutOperation\x12\x14\n\x07rollout\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12?\n\rrepair_phases\x18\x03 \x03(\x0b\x32#.google.cloud.deploy.v1.RepairPhaseB\x03\xe0\x41\x03\x12\x15\n\x08phase_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06job_id\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\x99\x01\n\x0bRepairPhase\x12\x38\n\x05retry\x18\x01 \x01(\x0b\x32\".google.cloud.deploy.v1.RetryPhaseB\x03\xe0\x41\x03H\x00\x12@\n\x08rollback\x18\x02 \x01(\x0b\x32\'.google.cloud.deploy.v1.RollbackAttemptB\x03\xe0\x41\x03H\x00\x42\x0e\n\x0crepair_phase\"\xa6\x01\n\nRetryPhase\x12\x1b\n\x0etotal_attempts\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12>\n\x0c\x62\x61\x63koff_mode\x18\x02 \x01(\x0e\x32#.google.cloud.deploy.v1.BackoffModeB\x03\xe0\x41\x03\x12;\n\x08\x61ttempts\x18\x05 \x03(\x0b\x32$.google.cloud.deploy.v1.RetryAttemptB\x03\xe0\x41\x03\"\xa4\x01\n\x0cRetryAttempt\x12\x14\n\x07\x61ttempt\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x37\n\x05state\x18\x05 \x01(\x0e\x32#.google.cloud.deploy.v1.RepairStateB\x03\xe0\x41\x03\x12\x17\n\nstate_desc\x18\x06 \x01(\tB\x03\xe0\x41\x03\"\x9c\x01\n\x0fRollbackAttempt\x12\x1e\n\x11\x64\x65stination_phase\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\nrollout_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x37\n\x05state\x18\x03 \x01(\x0e\x32#.google.cloud.deploy.v1.RepairStateB\x03\xe0\x41\x03\x12\x17\n\nstate_desc\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\xa6\x01\n\x19ListAutomationRunsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(clouddeploy.googleapis.com/AutomationRun\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x8a\x01\n\x1aListAutomationRunsResponse\x12>\n\x0f\x61utomation_runs\x18\x01 \x03(\x0b\x32%.google.cloud.deploy.v1.AutomationRun\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"Y\n\x17GetAutomationRunRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(clouddeploy.googleapis.com/AutomationRun\"\\\n\x1a\x43\x61ncelAutomationRunRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(clouddeploy.googleapis.com/AutomationRun\"\x1d\n\x1b\x43\x61ncelAutomationRunResponse*\xb9\x01\n\x14SkaffoldSupportState\x12&\n\"SKAFFOLD_SUPPORT_STATE_UNSPECIFIED\x10\x00\x12$\n SKAFFOLD_SUPPORT_STATE_SUPPORTED\x10\x01\x12+\n\'SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE\x10\x02\x12&\n\"SKAFFOLD_SUPPORT_STATE_UNSUPPORTED\x10\x03*b\n\x0b\x42\x61\x63koffMode\x12\x1c\n\x18\x42\x41\x43KOFF_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13\x42\x41\x43KOFF_MODE_LINEAR\x10\x01\x12\x1c\n\x18\x42\x41\x43KOFF_MODE_EXPONENTIAL\x10\x02*\xce\x01\n\x0bRepairState\x12\x1c\n\x18REPAIR_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16REPAIR_STATE_SUCCEEDED\x10\x01\x12\x1a\n\x16REPAIR_STATE_CANCELLED\x10\x02\x12\x17\n\x13REPAIR_STATE_FAILED\x10\x03\x12\x1c\n\x18REPAIR_STATE_IN_PROGRESS\x10\x04\x12\x18\n\x14REPAIR_STATE_PENDING\x10\x05\x12\x18\n\x14REPAIR_STATE_ABORTED\x10\x07\x32\xa2\x44\n\x0b\x43loudDeploy\x12\xcc\x01\n\x15ListDeliveryPipelines\x12\x34.google.cloud.deploy.v1.ListDeliveryPipelinesRequest\x1a\x35.google.cloud.deploy.v1.ListDeliveryPipelinesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/deliveryPipelines\x12\xb9\x01\n\x13GetDeliveryPipeline\x12\x32.google.cloud.deploy.v1.GetDeliveryPipelineRequest\x1a(.google.cloud.deploy.v1.DeliveryPipeline\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/deliveryPipelines/*}\x12\x99\x02\n\x16\x43reateDeliveryPipeline\x12\x35.google.cloud.deploy.v1.CreateDeliveryPipelineRequest\x1a\x1d.google.longrunning.Operation\"\xa8\x01\xca\x41%\n\x10\x44\x65liveryPipeline\x12\x11OperationMetadata\xda\x41-parent,delivery_pipeline,delivery_pipeline_id\x82\xd3\xe4\x93\x02J\"5/v1/{parent=projects/*/locations/*}/deliveryPipelines:\x11\x64\x65livery_pipeline\x12\x9b\x02\n\x16UpdateDeliveryPipeline\x12\x35.google.cloud.deploy.v1.UpdateDeliveryPipelineRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x01\xca\x41%\n\x10\x44\x65liveryPipeline\x12\x11OperationMetadata\xda\x41\x1d\x64\x65livery_pipeline,update_mask\x82\xd3\xe4\x93\x02\\2G/v1/{delivery_pipeline.name=projects/*/locations/*/deliveryPipelines/*}:\x11\x64\x65livery_pipeline\x12\xe1\x01\n\x16\x44\x65leteDeliveryPipeline\x12\x35.google.cloud.deploy.v1.DeleteDeliveryPipelineRequest\x1a\x1d.google.longrunning.Operation\"q\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/deliveryPipelines/*}\x12\xa4\x01\n\x0bListTargets\x12*.google.cloud.deploy.v1.ListTargetsRequest\x1a+.google.cloud.deploy.v1.ListTargetsResponse\"<\xda\x41\x06parent\x82\xd3\xe4\x93\x02-\x12+/v1/{parent=projects/*/locations/*}/targets\x12\xdc\x01\n\x0eRollbackTarget\x12-.google.cloud.deploy.v1.RollbackTargetRequest\x1a..google.cloud.deploy.v1.RollbackTargetResponse\"k\xda\x41\x19name,target_id,rollout_id\x82\xd3\xe4\x93\x02I\"D/v1/{name=projects/*/locations/*/deliveryPipelines/*}:rollbackTarget:\x01*\x12\x91\x01\n\tGetTarget\x12(.google.cloud.deploy.v1.GetTargetRequest\x1a\x1e.google.cloud.deploy.v1.Target\":\xda\x41\x04name\x82\xd3\xe4\x93\x02-\x12+/v1/{name=projects/*/locations/*/targets/*}\x12\xcf\x01\n\x0c\x43reateTarget\x12+.google.cloud.deploy.v1.CreateTargetRequest\x1a\x1d.google.longrunning.Operation\"s\xca\x41\x1b\n\x06Target\x12\x11OperationMetadata\xda\x41\x17parent,target,target_id\x82\xd3\xe4\x93\x02\x35\"+/v1/{parent=projects/*/locations/*}/targets:\x06target\x12\xd1\x01\n\x0cUpdateTarget\x12+.google.cloud.deploy.v1.UpdateTargetRequest\x1a\x1d.google.longrunning.Operation\"u\xca\x41\x1b\n\x06Target\x12\x11OperationMetadata\xda\x41\x12target,update_mask\x82\xd3\xe4\x93\x02<22/v1/{target.name=projects/*/locations/*/targets/*}:\x06target\x12\xc3\x01\n\x0c\x44\x65leteTarget\x12+.google.cloud.deploy.v1.DeleteTargetRequest\x1a\x1d.google.longrunning.Operation\"g\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02-*+/v1/{name=projects/*/locations/*/targets/*}\x12\xcc\x01\n\x15ListCustomTargetTypes\x12\x34.google.cloud.deploy.v1.ListCustomTargetTypesRequest\x1a\x35.google.cloud.deploy.v1.ListCustomTargetTypesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/customTargetTypes\x12\xb9\x01\n\x13GetCustomTargetType\x12\x32.google.cloud.deploy.v1.GetCustomTargetTypeRequest\x1a(.google.cloud.deploy.v1.CustomTargetType\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/customTargetTypes/*}\x12\x9c\x02\n\x16\x43reateCustomTargetType\x12\x35.google.cloud.deploy.v1.CreateCustomTargetTypeRequest\x1a\x1d.google.longrunning.Operation\"\xab\x01\xca\x41%\n\x10\x43ustomTargetType\x12\x11OperationMetadata\xda\x41/parent,custom_target_type,custom_target_type_id\x82\xd3\xe4\x93\x02K\"5/v1/{parent=projects/*/locations/*}/customTargetTypes:\x12\x63ustom_target_type\x12\x9e\x02\n\x16UpdateCustomTargetType\x12\x35.google.cloud.deploy.v1.UpdateCustomTargetTypeRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41%\n\x10\x43ustomTargetType\x12\x11OperationMetadata\xda\x41\x1e\x63ustom_target_type,update_mask\x82\xd3\xe4\x93\x02^2H/v1/{custom_target_type.name=projects/*/locations/*/customTargetTypes/*}:\x12\x63ustom_target_type\x12\xe1\x01\n\x16\x44\x65leteCustomTargetType\x12\x35.google.cloud.deploy.v1.DeleteCustomTargetTypeRequest\x1a\x1d.google.longrunning.Operation\"q\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/customTargetTypes/*}\x12\xbc\x01\n\x0cListReleases\x12+.google.cloud.deploy.v1.ListReleasesRequest\x1a,.google.cloud.deploy.v1.ListReleasesResponse\"Q\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x42\x12@/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases\x12\xa9\x01\n\nGetRelease\x12).google.cloud.deploy.v1.GetReleaseRequest\x1a\x1f.google.cloud.deploy.v1.Release\"O\xda\x41\x04name\x82\xd3\xe4\x93\x02\x42\x12@/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}\x12\xeb\x01\n\rCreateRelease\x12,.google.cloud.deploy.v1.CreateReleaseRequest\x1a\x1d.google.longrunning.Operation\"\x8c\x01\xca\x41\x1c\n\x07Release\x12\x11OperationMetadata\xda\x41\x19parent,release,release_id\x82\xd3\xe4\x93\x02K\"@/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases:\x07release\x12\xcb\x01\n\x0e\x41\x62\x61ndonRelease\x12-.google.cloud.deploy.v1.AbandonReleaseRequest\x1a..google.cloud.deploy.v1.AbandonReleaseResponse\"Z\xda\x41\x04name\x82\xd3\xe4\x93\x02M\"H/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}:abandon:\x01*\x12\xd6\x01\n\x0e\x41pproveRollout\x12-.google.cloud.deploy.v1.ApproveRolloutRequest\x1a..google.cloud.deploy.v1.ApproveRolloutResponse\"e\xda\x41\x04name\x82\xd3\xe4\x93\x02X\"S/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:approve:\x01*\x12\xdf\x01\n\x0e\x41\x64vanceRollout\x12-.google.cloud.deploy.v1.AdvanceRolloutRequest\x1a..google.cloud.deploy.v1.AdvanceRolloutResponse\"n\xda\x41\rname,phase_id\x82\xd3\xe4\x93\x02X\"S/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:advance:\x01*\x12\xd2\x01\n\rCancelRollout\x12,.google.cloud.deploy.v1.CancelRolloutRequest\x1a-.google.cloud.deploy.v1.CancelRolloutResponse\"d\xda\x41\x04name\x82\xd3\xe4\x93\x02W\"R/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:cancel:\x01*\x12\xc7\x01\n\x0cListRollouts\x12+.google.cloud.deploy.v1.ListRolloutsRequest\x1a,.google.cloud.deploy.v1.ListRolloutsResponse\"\\\xda\x41\x06parent\x82\xd3\xe4\x93\x02M\x12K/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts\x12\xb4\x01\n\nGetRollout\x12).google.cloud.deploy.v1.GetRolloutRequest\x1a\x1f.google.cloud.deploy.v1.Rollout\"Z\xda\x41\x04name\x82\xd3\xe4\x93\x02M\x12K/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}\x12\xf6\x01\n\rCreateRollout\x12,.google.cloud.deploy.v1.CreateRolloutRequest\x1a\x1d.google.longrunning.Operation\"\x97\x01\xca\x41\x1c\n\x07Rollout\x12\x11OperationMetadata\xda\x41\x19parent,rollout,rollout_id\x82\xd3\xe4\x93\x02V\"K/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts:\x07rollout\x12\xdf\x01\n\tIgnoreJob\x12(.google.cloud.deploy.v1.IgnoreJobRequest\x1a).google.cloud.deploy.v1.IgnoreJobResponse\"}\xda\x41\x17rollout,phase_id,job_id\x82\xd3\xe4\x93\x02]\"X/v1/{rollout=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:ignoreJob:\x01*\x12\xdb\x01\n\x08RetryJob\x12\'.google.cloud.deploy.v1.RetryJobRequest\x1a(.google.cloud.deploy.v1.RetryJobResponse\"|\xda\x41\x17rollout,phase_id,job_id\x82\xd3\xe4\x93\x02\\\"W/v1/{rollout=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:retryJob:\x01*\x12\xce\x01\n\x0bListJobRuns\x12*.google.cloud.deploy.v1.ListJobRunsRequest\x1a+.google.cloud.deploy.v1.ListJobRunsResponse\"f\xda\x41\x06parent\x82\xd3\xe4\x93\x02W\x12U/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}/jobRuns\x12\xbb\x01\n\tGetJobRun\x12(.google.cloud.deploy.v1.GetJobRunRequest\x1a\x1e.google.cloud.deploy.v1.JobRun\"d\xda\x41\x04name\x82\xd3\xe4\x93\x02W\x12U/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*/jobRuns/*}\x12\xe5\x01\n\x0fTerminateJobRun\x12..google.cloud.deploy.v1.TerminateJobRunRequest\x1a/.google.cloud.deploy.v1.TerminateJobRunResponse\"q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x64\"_/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*/jobRuns/*}:terminate:\x01*\x12\x8e\x01\n\tGetConfig\x12(.google.cloud.deploy.v1.GetConfigRequest\x1a\x1e.google.cloud.deploy.v1.Config\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v1/{name=projects/*/locations/*/config}\x12\x80\x02\n\x10\x43reateAutomation\x12/.google.cloud.deploy.v1.CreateAutomationRequest\x1a\x1d.google.longrunning.Operation\"\x9b\x01\xca\x41\x1f\n\nAutomation\x12\x11OperationMetadata\xda\x41\x1fparent,automation,automation_id\x82\xd3\xe4\x93\x02Q\"C/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/automations:\nautomation\x12\x82\x02\n\x10UpdateAutomation\x12/.google.cloud.deploy.v1.UpdateAutomationRequest\x1a\x1d.google.longrunning.Operation\"\x9d\x01\xca\x41\x1f\n\nAutomation\x12\x11OperationMetadata\xda\x41\x16\x61utomation,update_mask\x82\xd3\xe4\x93\x02\\2N/v1/{automation.name=projects/*/locations/*/deliveryPipelines/*/automations/*}:\nautomation\x12\xe3\x01\n\x10\x44\x65leteAutomation\x12/.google.cloud.deploy.v1.DeleteAutomationRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45*C/v1/{name=projects/*/locations/*/deliveryPipelines/*/automations/*}\x12\xb5\x01\n\rGetAutomation\x12,.google.cloud.deploy.v1.GetAutomationRequest\x1a\".google.cloud.deploy.v1.Automation\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{name=projects/*/locations/*/deliveryPipelines/*/automations/*}\x12\xc8\x01\n\x0fListAutomations\x12..google.cloud.deploy.v1.ListAutomationsRequest\x1a/.google.cloud.deploy.v1.ListAutomationsResponse\"T\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/automations\x12\xc1\x01\n\x10GetAutomationRun\x12/.google.cloud.deploy.v1.GetAutomationRunRequest\x1a%.google.cloud.deploy.v1.AutomationRun\"U\xda\x41\x04name\x82\xd3\xe4\x93\x02H\x12\x46/v1/{name=projects/*/locations/*/deliveryPipelines/*/automationRuns/*}\x12\xd4\x01\n\x12ListAutomationRuns\x12\x31.google.cloud.deploy.v1.ListAutomationRunsRequest\x1a\x32.google.cloud.deploy.v1.ListAutomationRunsResponse\"W\xda\x41\x06parent\x82\xd3\xe4\x93\x02H\x12\x46/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/automationRuns\x12\xdf\x01\n\x13\x43\x61ncelAutomationRun\x12\x32.google.cloud.deploy.v1.CancelAutomationRunRequest\x1a\x33.google.cloud.deploy.v1.CancelAutomationRunResponse\"_\xda\x41\x04name\x82\xd3\xe4\x93\x02R\"M/v1/{name=projects/*/locations/*/deliveryPipelines/*/automationRuns/*}:cancel:\x01*\x1aN\xca\x41\x1a\x63louddeploy.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x8d\x07\n\x1a\x63om.google.cloud.deploy.v1B\x10\x43loudDeployProtoP\x01Z2cloud.google.com/go/deploy/apiv1/deploypb;deploypb\xea\x41Y\n\x1f\x63loudbuild.googleapis.com/Build\x12\x36projects/{project}/locations/{location}/builds/{build}\xea\x41\x82\x01\n$cloudbuild.googleapis.com/Repository\x12Zprojects/{project}/locations/{location}/connections/{connection}/repositories/{repository}\xea\x41^\n container.googleapis.com/Cluster\x12:projects/{project}/locations/{location}/clusters/{cluster}\xea\x41\x66\n$clouddeploy.googleapis.com/Operation\x12>projects/{project}/locations/{location}/operations/{operation}\xea\x41i\n$cloudbuild.googleapis.com/WorkerPool\x12\x41projects/{project}/locations/{location}/workerPools/{worker_pool}\xea\x41\x64\n gkehub.googleapis.com/Membership\x12@projects/{project}/locations/{location}/memberships/{membership}\xea\x41X\n\x1arun.googleapis.com/Service\x12:projects/{project}/locations/{location}/services/{service}\xea\x41L\n\x16run.googleapis.com/Job\x12\x32projects/{project}/locations/{location}/jobs/{job}b\x06proto3" +descriptor_data = "\n)google/cloud/deploy/v1/cloud_deploy.proto\x12\x16google.cloud.deploy.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/date.proto\x1a\x1bgoogle/type/dayofweek.proto\x1a\x1bgoogle/type/timeofday.proto\"\xe5\x05\n\x10\x44\x65liveryPipeline\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12N\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x39.google.cloud.deploy.v1.DeliveryPipeline.AnnotationsEntry\x12\x44\n\x06labels\x18\x05 \x03(\x0b\x32\x34.google.cloud.deploy.v1.DeliveryPipeline.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x41\n\x0fserial_pipeline\x18\x08 \x01(\x0b\x32&.google.cloud.deploy.v1.SerialPipelineH\x00\x12\x41\n\tcondition\x18\x0b \x01(\x0b\x32).google.cloud.deploy.v1.PipelineConditionB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\n \x01(\t\x12\x11\n\tsuspended\x18\x0c \x01(\x08\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x7f\xea\x41|\n+clouddeploy.googleapis.com/DeliveryPipeline\x12Mprojects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}B\n\n\x08pipeline\"?\n\x0eSerialPipeline\x12-\n\x06stages\x18\x01 \x03(\x0b\x32\x1d.google.cloud.deploy.v1.Stage\"\xaf\x01\n\x05Stage\x12\x11\n\ttarget_id\x18\x01 \x01(\t\x12\x10\n\x08profiles\x18\x02 \x03(\t\x12\x37\n\x08strategy\x18\x05 \x01(\x0b\x32 .google.cloud.deploy.v1.StrategyB\x03\xe0\x41\x01\x12H\n\x11\x64\x65ploy_parameters\x18\x06 \x03(\x0b\x32(.google.cloud.deploy.v1.DeployParametersB\x03\xe0\x41\x01\"\xa9\x02\n\x10\x44\x65ployParameters\x12I\n\x06values\x18\x01 \x03(\x0b\x32\x34.google.cloud.deploy.v1.DeployParameters.ValuesEntryB\x03\xe0\x41\x02\x12\x61\n\x13match_target_labels\x18\x02 \x03(\x0b\x32?.google.cloud.deploy.v1.DeployParameters.MatchTargetLabelsEntryB\x03\xe0\x41\x01\x1a-\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x38\n\x16MatchTargetLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x89\x01\n\x08Strategy\x12\x34\n\x08standard\x18\x01 \x01(\x0b\x32 .google.cloud.deploy.v1.StandardH\x00\x12\x30\n\x06\x63\x61nary\x18\x02 \x01(\x0b\x32\x1e.google.cloud.deploy.v1.CanaryH\x00\x42\x15\n\x13\x64\x65ployment_strategy\"!\n\tPredeploy\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\"\n\nPostdeploy\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\x92\x01\n\x08Standard\x12\x0e\n\x06verify\x18\x01 \x01(\x08\x12\x39\n\tpredeploy\x18\x02 \x01(\x0b\x32!.google.cloud.deploy.v1.PredeployB\x03\xe0\x41\x01\x12;\n\npostdeploy\x18\x03 \x01(\x0b\x32\".google.cloud.deploy.v1.PostdeployB\x03\xe0\x41\x01\"\xef\x01\n\x06\x43\x61nary\x12\x42\n\x0eruntime_config\x18\x01 \x01(\x0b\x32%.google.cloud.deploy.v1.RuntimeConfigB\x03\xe0\x41\x01\x12\x45\n\x11\x63\x61nary_deployment\x18\x02 \x01(\x0b\x32(.google.cloud.deploy.v1.CanaryDeploymentH\x00\x12R\n\x18\x63ustom_canary_deployment\x18\x03 \x01(\x0b\x32..google.cloud.deploy.v1.CustomCanaryDeploymentH\x00\x42\x06\n\x04mode\"\xb4\x01\n\x10\x43\x61naryDeployment\x12\x18\n\x0bpercentages\x18\x01 \x03(\x05\x42\x03\xe0\x41\x02\x12\x0e\n\x06verify\x18\x02 \x01(\x08\x12\x39\n\tpredeploy\x18\x03 \x01(\x0b\x32!.google.cloud.deploy.v1.PredeployB\x03\xe0\x41\x01\x12;\n\npostdeploy\x18\x04 \x01(\x0b\x32\".google.cloud.deploy.v1.PostdeployB\x03\xe0\x41\x01\"\xca\x02\n\x16\x43ustomCanaryDeployment\x12V\n\rphase_configs\x18\x01 \x03(\x0b\x32:.google.cloud.deploy.v1.CustomCanaryDeployment.PhaseConfigB\x03\xe0\x41\x02\x1a\xd7\x01\n\x0bPhaseConfig\x12\x15\n\x08phase_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\npercentage\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02\x12\x10\n\x08profiles\x18\x03 \x03(\t\x12\x0e\n\x06verify\x18\x04 \x01(\x08\x12\x39\n\tpredeploy\x18\x05 \x01(\x0b\x32!.google.cloud.deploy.v1.PredeployB\x03\xe0\x41\x01\x12;\n\npostdeploy\x18\x06 \x01(\x0b\x32\".google.cloud.deploy.v1.PostdeployB\x03\xe0\x41\x01\"\xf1\x04\n\x10KubernetesConfig\x12[\n\x14gateway_service_mesh\x18\x01 \x01(\x0b\x32;.google.cloud.deploy.v1.KubernetesConfig.GatewayServiceMeshH\x00\x12X\n\x12service_networking\x18\x02 \x01(\x0b\x32:.google.cloud.deploy.v1.KubernetesConfig.ServiceNetworkingH\x00\x1a\xfe\x01\n\x12GatewayServiceMesh\x12\x17\n\nhttp_route\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07service\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\ndeployment\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12>\n\x16route_update_wait_time\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12?\n\x17stable_cutback_duration\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x1f\n\x12pod_selector_label\x18\x06 \x01(\tB\x03\xe0\x41\x01\x1a\x8e\x01\n\x11ServiceNetworking\x12\x14\n\x07service\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\ndeployment\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12)\n\x1c\x64isable_pod_overprovisioning\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12pod_selector_label\x18\x04 \x01(\tB\x03\xe0\x41\x01\x42\x14\n\x12service_definition\"\x9b\x01\n\x0e\x43loudRunConfig\x12!\n\x19\x61utomatic_traffic_control\x18\x01 \x01(\x08\x12!\n\x14\x63\x61nary_revision_tags\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12 \n\x13prior_revision_tags\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12!\n\x14stable_revision_tags\x18\x04 \x03(\tB\x03\xe0\x41\x01\"\x9e\x01\n\rRuntimeConfig\x12>\n\nkubernetes\x18\x01 \x01(\x0b\x32(.google.cloud.deploy.v1.KubernetesConfigH\x00\x12;\n\tcloud_run\x18\x02 \x01(\x0b\x32&.google.cloud.deploy.v1.CloudRunConfigH\x00\x42\x10\n\x0eruntime_config\"Y\n\x16PipelineReadyCondition\x12\x0e\n\x06status\x18\x03 \x01(\x08\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9b\x01\n\x17TargetsPresentCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12?\n\x0fmissing_targets\x18\x02 \x03(\tB&\xfa\x41#\n!clouddeploy.googleapis.com/Target\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"=\n\x14TargetsTypeCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12\x15\n\rerror_details\x18\x02 \x01(\t\"\x87\x02\n\x11PipelineCondition\x12P\n\x18pipeline_ready_condition\x18\x01 \x01(\x0b\x32..google.cloud.deploy.v1.PipelineReadyCondition\x12R\n\x19targets_present_condition\x18\x03 \x01(\x0b\x32/.google.cloud.deploy.v1.TargetsPresentCondition\x12L\n\x16targets_type_condition\x18\x04 \x01(\x0b\x32,.google.cloud.deploy.v1.TargetsTypeCondition\"\xac\x01\n\x1cListDeliveryPipelinesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/DeliveryPipeline\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x93\x01\n\x1dListDeliveryPipelinesResponse\x12\x44\n\x12\x64\x65livery_pipelines\x18\x01 \x03(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipeline\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetDeliveryPipelineRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\"\x86\x02\n\x1d\x43reateDeliveryPipelineRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/DeliveryPipeline\x12!\n\x14\x64\x65livery_pipeline_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12H\n\x11\x64\x65livery_pipeline\x18\x03 \x01(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipelineB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xf0\x01\n\x1dUpdateDeliveryPipelineRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12H\n\x11\x64\x65livery_pipeline\x18\x02 \x01(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipelineB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xda\x01\n\x1d\x44\x65leteDeliveryPipelineRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x12\n\x05\x66orce\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"m\n\x14RollbackTargetConfig\x12\x35\n\x07rollout\x18\x01 \x01(\x0b\x32\x1f.google.cloud.deploy.v1.RolloutB\x03\xe0\x41\x01\x12\x1e\n\x11starting_phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x80\x03\n\x15RollbackTargetRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x16\n\ttarget_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nrollout_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nrelease_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12!\n\x14rollout_to_roll_back\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12J\n\x0frollback_config\x18\x06 \x01(\x0b\x32,.google.cloud.deploy.v1.RollbackTargetConfigB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x12O\n\x16override_deploy_policy\x18\t \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"_\n\x16RollbackTargetResponse\x12\x45\n\x0frollback_config\x18\x01 \x01(\x0b\x32,.google.cloud.deploy.v1.RollbackTargetConfig\"\xf8\x08\n\x06Target\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\ttarget_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12I\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32/.google.cloud.deploy.v1.Target.AnnotationsEntryB\x03\xe0\x41\x01\x12?\n\x06labels\x18\x06 \x03(\x0b\x32*.google.cloud.deploy.v1.Target.LabelsEntryB\x03\xe0\x41\x01\x12\x1d\n\x10require_approval\x18\r \x01(\x08\x42\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x36\n\x03gke\x18\x0f \x01(\x0b\x32\".google.cloud.deploy.v1.GkeClusterB\x03\xe0\x41\x01H\x00\x12\x44\n\x0e\x61nthos_cluster\x18\x11 \x01(\x0b\x32%.google.cloud.deploy.v1.AnthosClusterB\x03\xe0\x41\x01H\x00\x12<\n\x03run\x18\x12 \x01(\x0b\x32(.google.cloud.deploy.v1.CloudRunLocationB\x03\xe0\x41\x01H\x00\x12@\n\x0cmulti_target\x18\x13 \x01(\x0b\x32#.google.cloud.deploy.v1.MultiTargetB\x03\xe0\x41\x01H\x00\x12\x42\n\rcustom_target\x18\x15 \x01(\x0b\x32$.google.cloud.deploy.v1.CustomTargetB\x03\xe0\x41\x01H\x00\x12\x11\n\x04\x65tag\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12\x42\n\x11\x65xecution_configs\x18\x10 \x03(\x0b\x32\'.google.cloud.deploy.v1.ExecutionConfig\x12T\n\x11\x64\x65ploy_parameters\x18\x14 \x03(\x0b\x32\x34.google.cloud.deploy.v1.Target.DeployParametersEntryB\x03\xe0\x41\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x37\n\x15\x44\x65ployParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:`\xea\x41]\n!clouddeploy.googleapis.com/Target\x12\x38projects/{project}/locations/{location}/targets/{target}B\x13\n\x11\x64\x65ployment_target\"\xe5\x04\n\x0f\x45xecutionConfig\x12V\n\x06usages\x18\x01 \x03(\x0e\x32\x41.google.cloud.deploy.v1.ExecutionConfig.ExecutionEnvironmentUsageB\x03\xe0\x41\x02\x12@\n\x0c\x64\x65\x66\x61ult_pool\x18\x02 \x01(\x0b\x32#.google.cloud.deploy.v1.DefaultPoolB\x03\xe0\x41\x01H\x00\x12@\n\x0cprivate_pool\x18\x03 \x01(\x0b\x32#.google.cloud.deploy.v1.PrivatePoolB\x03\xe0\x41\x01H\x00\x12\x41\n\x0bworker_pool\x18\x04 \x01(\tB,\xe0\x41\x01\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPool\x12\x1c\n\x0fservice_account\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x61rtifact_storage\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12\x39\n\x11\x65xecution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x14\n\x07verbose\x18\x08 \x01(\x08\x42\x03\xe0\x41\x01\"\x8b\x01\n\x19\x45xecutionEnvironmentUsage\x12+\n\'EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED\x10\x00\x12\n\n\x06RENDER\x10\x01\x12\n\n\x06\x44\x45PLOY\x10\x02\x12\n\n\x06VERIFY\x10\x03\x12\r\n\tPREDEPLOY\x10\x04\x12\x0e\n\nPOSTDEPLOY\x10\x05\x42\x17\n\x15\x65xecution_environment\"J\n\x0b\x44\x65\x66\x61ultPool\x12\x1c\n\x0fservice_account\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x61rtifact_storage\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x8d\x01\n\x0bPrivatePool\x12\x41\n\x0bworker_pool\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPool\x12\x1c\n\x0fservice_account\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10\x61rtifact_storage\x18\x03 \x01(\tB\x03\xe0\x41\x01\"y\n\nGkeCluster\x12\x39\n\x07\x63luster\x18\x01 \x01(\tB(\xe0\x41\x01\xfa\x41\"\n container.googleapis.com/Cluster\x12\x18\n\x0binternal_ip\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x16\n\tproxy_url\x18\x03 \x01(\tB\x03\xe0\x41\x01\"M\n\rAnthosCluster\x12<\n\nmembership\x18\x01 \x01(\tB(\xe0\x41\x01\xfa\x41\"\n gkehub.googleapis.com/Membership\"O\n\x10\x43loudRunLocation\x12;\n\x08location\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\"&\n\x0bMultiTarget\x12\x17\n\ntarget_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02\"_\n\x0c\x43ustomTarget\x12O\n\x12\x63ustom_target_type\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/CustomTargetType\"\xac\x01\n\x12ListTargetsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!clouddeploy.googleapis.com/Target\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"t\n\x13ListTargetsResponse\x12/\n\x07targets\x18\x01 \x03(\x0b\x32\x1e.google.cloud.deploy.v1.Target\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetTargetRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/Target\"\xd2\x01\n\x13\x43reateTargetRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\x12!clouddeploy.googleapis.com/Target\x12\x16\n\ttarget_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x33\n\x06target\x18\x03 \x01(\x0b\x32\x1e.google.cloud.deploy.v1.TargetB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xd1\x01\n\x13UpdateTargetRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x33\n\x06target\x18\x02 \x01(\x0b\x32\x1e.google.cloud.deploy.v1.TargetB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xb2\x01\n\x13\x44\x65leteTargetRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/Target\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xd7\x05\n\x10\x43ustomTargetType\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\"\n\x15\x63ustom_target_type_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12S\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x39.google.cloud.deploy.v1.CustomTargetType.AnnotationsEntryB\x03\xe0\x41\x01\x12I\n\x06labels\x18\x06 \x03(\x0b\x32\x34.google.cloud.deploy.v1.CustomTargetType.LabelsEntryB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\t \x01(\tB\x03\xe0\x41\x01\x12M\n\x0e\x63ustom_actions\x18\n \x01(\x0b\x32\x33.google.cloud.deploy.v1.CustomTargetSkaffoldActionsH\x00\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x80\x01\xea\x41}\n+clouddeploy.googleapis.com/CustomTargetType\x12Nprojects/{project}/locations/{location}/customTargetTypes/{custom_target_type}B\x0c\n\ndefinition\"\xa5\x01\n\x1b\x43ustomTargetSkaffoldActions\x12\x1a\n\rrender_action\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rdeploy_action\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12N\n\x18include_skaffold_modules\x18\x03 \x03(\x0b\x32\'.google.cloud.deploy.v1.SkaffoldModulesB\x03\xe0\x41\x01\"\xc2\x04\n\x0fSkaffoldModules\x12\x14\n\x07\x63onfigs\x18\x01 \x03(\tB\x03\xe0\x41\x01\x12H\n\x03git\x18\x02 \x01(\x0b\x32\x39.google.cloud.deploy.v1.SkaffoldModules.SkaffoldGitSourceH\x00\x12Y\n\x14google_cloud_storage\x18\x03 \x01(\x0b\x32\x39.google.cloud.deploy.v1.SkaffoldModules.SkaffoldGCSSourceH\x00\x12`\n\x17google_cloud_build_repo\x18\x04 \x01(\x0b\x32=.google.cloud.deploy.v1.SkaffoldModules.SkaffoldGCBRepoSourceH\x00\x1aK\n\x11SkaffoldGitSource\x12\x11\n\x04repo\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04path\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03ref\x18\x03 \x01(\tB\x03\xe0\x41\x01\x1a;\n\x11SkaffoldGCSSource\x12\x13\n\x06source\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04path\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a~\n\x15SkaffoldGCBRepoSource\x12@\n\nrepository\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$cloudbuild.googleapis.com/Repository\x12\x11\n\x04path\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03ref\x18\x03 \x01(\tB\x03\xe0\x41\x01\x42\x08\n\x06source\"\xc0\x01\n\x1cListCustomTargetTypesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/CustomTargetType\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x94\x01\n\x1dListCustomTargetTypesResponse\x12\x45\n\x13\x63ustom_target_types\x18\x01 \x03(\x0b\x32(.google.cloud.deploy.v1.CustomTargetType\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"_\n\x1aGetCustomTargetTypeRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/CustomTargetType\"\x88\x02\n\x1d\x43reateCustomTargetTypeRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\x12+clouddeploy.googleapis.com/CustomTargetType\x12\"\n\x15\x63ustom_target_type_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12I\n\x12\x63ustom_target_type\x18\x03 \x01(\x0b\x32(.google.cloud.deploy.v1.CustomTargetTypeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xf1\x01\n\x1dUpdateCustomTargetTypeRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12I\n\x12\x63ustom_target_type\x18\x02 \x01(\x0b\x32(.google.cloud.deploy.v1.CustomTargetTypeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xc6\x01\n\x1d\x44\x65leteCustomTargetTypeRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/CustomTargetType\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x8a\x06\n\x0c\x44\x65ployPolicy\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12J\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x35.google.cloud.deploy.v1.DeployPolicy.AnnotationsEntry\x12@\n\x06labels\x18\x05 \x03(\x0b\x32\x30.google.cloud.deploy.v1.DeployPolicy.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\tsuspended\x18\x08 \x01(\x08\x12L\n\tselectors\x18\x0c \x03(\x0b\x32\x34.google.cloud.deploy.v1.DeployPolicyResourceSelectorB\x03\xe0\x41\x02\x12\x36\n\x05rules\x18\n \x03(\x0b\x32\".google.cloud.deploy.v1.PolicyRuleB\x03\xe0\x41\x02\x12\x0c\n\x04\x65tag\x18\x0b \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x07Invoker\x12\x17\n\x13INVOKER_UNSPECIFIED\x10\x00\x12\x08\n\x04USER\x10\x01\x12\x15\n\x11\x44\x45PLOY_AUTOMATION\x10\x02:w\xea\x41t\n\'clouddeploy.googleapis.com/DeployPolicy\x12\x46projects/{project}/locations/{location}/deployPolicies/{deploy_policy}R\x01\x01\"\xaf\x01\n\x1c\x44\x65ployPolicyResourceSelector\x12Q\n\x11\x64\x65livery_pipeline\x18\x01 \x01(\x0b\x32\x31.google.cloud.deploy.v1.DeliveryPipelineAttributeB\x03\xe0\x41\x01\x12<\n\x06target\x18\x02 \x01(\x0b\x32\'.google.cloud.deploy.v1.TargetAttributeB\x03\xe0\x41\x01\"\xa5\x01\n\x19\x44\x65liveryPipelineAttribute\x12\n\n\x02id\x18\x01 \x01(\t\x12M\n\x06labels\x18\x02 \x03(\x0b\x32=.google.cloud.deploy.v1.DeliveryPipelineAttribute.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x91\x01\n\x0fTargetAttribute\x12\n\n\x02id\x18\x01 \x01(\t\x12\x43\n\x06labels\x18\x02 \x03(\x0b\x32\x33.google.cloud.deploy.v1.TargetAttribute.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"_\n\nPolicyRule\x12I\n\x13rollout_restriction\x18\x02 \x01(\x0b\x32*.google.cloud.deploy.v1.RolloutRestrictionH\x00\x42\x06\n\x04rule\"\xa4\x03\n\x12RolloutRestriction\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x43\n\x08invokers\x18\x02 \x03(\x0e\x32,.google.cloud.deploy.v1.DeployPolicy.InvokerB\x03\xe0\x41\x01\x12O\n\x07\x61\x63tions\x18\x03 \x03(\x0e\x32\x39.google.cloud.deploy.v1.RolloutRestriction.RolloutActionsB\x03\xe0\x41\x01\x12>\n\x0ctime_windows\x18\x04 \x01(\x0b\x32#.google.cloud.deploy.v1.TimeWindowsB\x03\xe0\x41\x02\"\xa6\x01\n\x0eRolloutActions\x12\x1f\n\x1bROLLOUT_ACTIONS_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x41\x44VANCE\x10\x01\x12\x0b\n\x07\x41PPROVE\x10\x02\x12\n\n\x06\x43\x41NCEL\x10\x03\x12\n\n\x06\x43REATE\x10\x04\x12\x0e\n\nIGNORE_JOB\x10\x05\x12\r\n\tRETRY_JOB\x10\x06\x12\x0c\n\x08ROLLBACK\x10\x07\x12\x14\n\x10TERMINATE_JOBRUN\x10\x08\"\xae\x01\n\x0bTimeWindows\x12\x16\n\ttime_zone\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x10one_time_windows\x18\x02 \x03(\x0b\x32%.google.cloud.deploy.v1.OneTimeWindowB\x03\xe0\x41\x01\x12\x41\n\x0eweekly_windows\x18\x03 \x03(\x0b\x32$.google.cloud.deploy.v1.WeeklyWindowB\x03\xe0\x41\x01\"\xc5\x01\n\rOneTimeWindow\x12*\n\nstart_date\x18\x01 \x01(\x0b\x32\x11.google.type.DateB\x03\xe0\x41\x02\x12/\n\nstart_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x02\x12(\n\x08\x65nd_date\x18\x03 \x01(\x0b\x32\x11.google.type.DateB\x03\xe0\x41\x02\x12-\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x02\"\xa1\x01\n\x0cWeeklyWindow\x12\x31\n\x0c\x64\x61ys_of_week\x18\x01 \x03(\x0e\x32\x16.google.type.DayOfWeekB\x03\xe0\x41\x01\x12/\n\nstart_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x01\x12-\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x01\"c\n\x0fPolicyViolation\x12P\n\x18policy_violation_details\x18\x01 \x03(\x0b\x32..google.cloud.deploy.v1.PolicyViolationDetails\"R\n\x16PolicyViolationDetails\x12\x0e\n\x06policy\x18\x01 \x01(\t\x12\x0f\n\x07rule_id\x18\x02 \x01(\t\x12\x17\n\x0f\x66\x61ilure_message\x18\x03 \x01(\t\"\xae\x17\n\x07Release\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x45\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x30.google.cloud.deploy.v1.Release.AnnotationsEntry\x12;\n\x06labels\x18\x05 \x03(\x0b\x32+.google.cloud.deploy.v1.Release.LabelsEntry\x12\x16\n\tabandoned\x18\x17 \x01(\x08\x42\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11render_start_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x38\n\x0frender_end_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x13skaffold_config_uri\x18\x11 \x01(\t\x12\x1c\n\x14skaffold_config_path\x18\t \x01(\t\x12>\n\x0f\x62uild_artifacts\x18\n \x03(\x0b\x32%.google.cloud.deploy.v1.BuildArtifact\x12Q\n\x1a\x64\x65livery_pipeline_snapshot\x18\x0b \x01(\x0b\x32(.google.cloud.deploy.v1.DeliveryPipelineB\x03\xe0\x41\x03\x12=\n\x10target_snapshots\x18\x0c \x03(\x0b\x32\x1e.google.cloud.deploy.v1.TargetB\x03\xe0\x41\x03\x12S\n\x1c\x63ustom_target_type_snapshots\x18\x1b \x03(\x0b\x32(.google.cloud.deploy.v1.CustomTargetTypeB\x03\xe0\x41\x03\x12\x46\n\x0crender_state\x18\r \x01(\x0e\x32+.google.cloud.deploy.v1.Release.RenderStateB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\x10 \x01(\t\x12\x18\n\x10skaffold_version\x18\x13 \x01(\t\x12S\n\x10target_artifacts\x18\x14 \x03(\x0b\x32\x34.google.cloud.deploy.v1.Release.TargetArtifactsEntryB\x03\xe0\x41\x03\x12O\n\x0etarget_renders\x18\x16 \x03(\x0b\x32\x32.google.cloud.deploy.v1.Release.TargetRendersEntryB\x03\xe0\x41\x03\x12H\n\tcondition\x18\x18 \x01(\x0b\x32\x30.google.cloud.deploy.v1.Release.ReleaseConditionB\x03\xe0\x41\x03\x12U\n\x11\x64\x65ploy_parameters\x18\x19 \x03(\x0b\x32\x35.google.cloud.deploy.v1.Release.DeployParametersEntryB\x03\xe0\x41\x01\x1a\xd4\x05\n\x0cTargetRender\x12@\n\x0frendering_build\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12\\\n\x0frendering_state\x18\x02 \x01(\x0e\x32>.google.cloud.deploy.v1.Release.TargetRender.TargetRenderStateB\x03\xe0\x41\x03\x12=\n\x08metadata\x18\x06 \x01(\x0b\x32&.google.cloud.deploy.v1.RenderMetadataB\x03\xe0\x41\x03\x12U\n\rfailure_cause\x18\x04 \x01(\x0e\x32\x39.google.cloud.deploy.v1.Release.TargetRender.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\"d\n\x11TargetRenderState\x12#\n\x1fTARGET_RENDER_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\"\x89\x02\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x03\x12!\n\x1dVERIFICATION_CONFIG_NOT_FOUND\x10\x04\x12\x1b\n\x17\x43USTOM_ACTION_NOT_FOUND\x10\x05\x12%\n!DEPLOYMENT_STRATEGY_NOT_SUPPORTED\x10\x06\x12 \n\x1cRENDER_FEATURE_NOT_SUPPORTED\x10\x07\x1a\'\n\x15ReleaseReadyCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x1a\xf2\x01\n\x1aSkaffoldSupportedCondition\x12\x0e\n\x06status\x18\x01 \x01(\x08\x12L\n\x16skaffold_support_state\x18\x02 \x01(\x0e\x32,.google.cloud.deploy.v1.SkaffoldSupportState\x12\x39\n\x15maintenance_mode_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17support_expiration_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xcc\x01\n\x10ReleaseCondition\x12V\n\x17release_ready_condition\x18\x01 \x01(\x0b\x32\x35.google.cloud.deploy.v1.Release.ReleaseReadyCondition\x12`\n\x1cskaffold_supported_condition\x18\x02 \x01(\x0b\x32:.google.cloud.deploy.v1.Release.SkaffoldSupportedCondition\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a^\n\x14TargetArtifactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.google.cloud.deploy.v1.TargetArtifact:\x02\x38\x01\x1a\x62\n\x12TargetRendersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12;\n\x05value\x18\x02 \x01(\x0b\x32,.google.cloud.deploy.v1.Release.TargetRender:\x02\x38\x01\x1a\x37\n\x15\x44\x65ployParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"W\n\x0bRenderState\x12\x1c\n\x18RENDER_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03:\x8a\x01\xea\x41\x86\x01\n\"clouddeploy.googleapis.com/Release\x12`projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}\"\xf2\x01\n\x19\x43reateDeployPolicyRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'clouddeploy.googleapis.com/DeployPolicy\x12\x1d\n\x10\x64\x65ploy_policy_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12@\n\rdeploy_policy\x18\x03 \x01(\x0b\x32$.google.cloud.deploy.v1.DeployPolicyB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xe4\x01\n\x19UpdateDeployPolicyRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12@\n\rdeploy_policy\x18\x02 \x01(\x0b\x32$.google.cloud.deploy.v1.DeployPolicyB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xbe\x01\n\x19\x44\x65leteDeployPolicyRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xa5\x01\n\x19ListDeployPoliciesRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'clouddeploy.googleapis.com/DeployPolicy\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x89\x01\n\x1aListDeployPoliciesResponse\x12=\n\x0f\x64\x65ploy_policies\x18\x01 \x03(\x0b\x32$.google.cloud.deploy.v1.DeployPolicy\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"W\n\x16GetDeployPolicyRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"+\n\rBuildArtifact\x12\r\n\x05image\x18\x03 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\"\xab\x03\n\x0eTargetArtifact\x12\x1b\n\x0c\x61rtifact_uri\x18\x04 \x01(\tB\x03\xe0\x41\x03H\x00\x12!\n\x14skaffold_config_path\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rmanifest_path\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12X\n\x0fphase_artifacts\x18\x05 \x03(\x0b\x32:.google.cloud.deploy.v1.TargetArtifact.PhaseArtifactsEntryB\x03\xe0\x41\x03\x1ao\n\rPhaseArtifact\x12!\n\x14skaffold_config_path\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rmanifest_path\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12job_manifests_path\x18\x04 \x01(\tB\x03\xe0\x41\x03\x1ak\n\x13PhaseArtifactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\x34.google.cloud.deploy.v1.TargetArtifact.PhaseArtifact:\x02\x38\x01\x42\x05\n\x03uri\"H\n\x0e\x44\x65ployArtifact\x12\x19\n\x0c\x61rtifact_uri\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0emanifest_paths\x18\x02 \x03(\tB\x03\xe0\x41\x03\"M\n\x16\x43loudRunRenderMetadata\x12\x33\n\x07service\x18\x01 \x01(\tB\"\xe0\x41\x03\xfa\x41\x1c\n\x1arun.googleapis.com/Service\"\x95\x01\n\x0eRenderMetadata\x12\x46\n\tcloud_run\x18\x01 \x01(\x0b\x32..google.cloud.deploy.v1.CloudRunRenderMetadataB\x03\xe0\x41\x03\x12;\n\x06\x63ustom\x18\x02 \x01(\x0b\x32&.google.cloud.deploy.v1.CustomMetadataB\x03\xe0\x41\x03\"\xb7\x01\n\x13ListReleasesRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"w\n\x14ListReleasesResponse\x12\x31\n\x08releases\x18\x01 \x03(\x0b\x32\x1f.google.cloud.deploy.v1.Release\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"M\n\x11GetReleaseRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\"\xb1\x02\n\x14\x43reateReleaseRequest\x12\x43\n\x06parent\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+clouddeploy.googleapis.com/DeliveryPipeline\x12\x17\n\nrelease_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x35\n\x07release\x18\x03 \x01(\x0b\x32\x1f.google.cloud.deploy.v1.ReleaseB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x12O\n\x16override_deploy_policy\x18\x06 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\xe8\x0e\n\x07Rollout\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x45\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x30.google.cloud.deploy.v1.Rollout.AnnotationsEntry\x12;\n\x06labels\x18\x05 \x03(\x0b\x32+.google.cloud.deploy.v1.Rollout.LabelsEntry\x12\x34\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x61pprove_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x35\n\x0c\x65nqueue_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12:\n\x11\x64\x65ploy_start_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x38\n\x0f\x64\x65ploy_end_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x16\n\ttarget_id\x18\x12 \x01(\tB\x03\xe0\x41\x02\x12J\n\x0e\x61pproval_state\x18\x0c \x01(\x0e\x32-.google.cloud.deploy.v1.Rollout.ApprovalStateB\x03\xe0\x41\x03\x12\x39\n\x05state\x18\r \x01(\x0e\x32%.google.cloud.deploy.v1.Rollout.StateB\x03\xe0\x41\x03\x12\x1b\n\x0e\x66\x61ilure_reason\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12@\n\x0f\x64\x65ploying_build\x18\x11 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12\x0c\n\x04\x65tag\x18\x10 \x01(\t\x12O\n\x14\x64\x65ploy_failure_cause\x18\x13 \x01(\x0e\x32,.google.cloud.deploy.v1.Rollout.FailureCauseB\x03\xe0\x41\x03\x12\x32\n\x06phases\x18\x17 \x03(\x0b\x32\x1d.google.cloud.deploy.v1.PhaseB\x03\xe0\x41\x03\x12\x37\n\x08metadata\x18\x18 \x01(\x0b\x32 .google.cloud.deploy.v1.MetadataB\x03\xe0\x41\x03\x12\x1f\n\x12\x63ontroller_rollout\x18\x19 \x01(\tB\x03\xe0\x41\x03\x12 \n\x13rollback_of_rollout\x18\x1a \x01(\tB\x03\xe0\x41\x03\x12$\n\x17rolled_back_by_rollouts\x18\x1b \x03(\tB\x03\xe0\x41\x03\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"{\n\rApprovalState\x12\x1e\n\x1a\x41PPROVAL_STATE_UNSPECIFIED\x10\x00\x12\x12\n\x0eNEEDS_APPROVAL\x10\x01\x12\x1a\n\x16\x44OES_NOT_NEED_APPROVAL\x10\x02\x12\x0c\n\x08\x41PPROVED\x10\x03\x12\x0c\n\x08REJECTED\x10\x04\"\xc4\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\x12\x14\n\x10PENDING_APPROVAL\x10\x04\x12\x15\n\x11\x41PPROVAL_REJECTED\x10\x05\x12\x0b\n\x07PENDING\x10\x06\x12\x13\n\x0fPENDING_RELEASE\x10\x07\x12\x0e\n\nCANCELLING\x10\x08\x12\r\n\tCANCELLED\x10\t\x12\n\n\x06HALTED\x10\n\"\x8a\x02\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12\x12\n\x0eRELEASE_FAILED\x10\x04\x12\x15\n\x11RELEASE_ABANDONED\x10\x05\x12!\n\x1dVERIFICATION_CONFIG_NOT_FOUND\x10\x06\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x07\x12#\n\x1fOPERATION_FEATURE_NOT_SUPPORTED\x10\x08:\x9d\x01\xea\x41\x99\x01\n\"clouddeploy.googleapis.com/Rollout\x12sprojects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}\"\xd5\x01\n\x08Metadata\x12@\n\tcloud_run\x18\x01 \x01(\x0b\x32(.google.cloud.deploy.v1.CloudRunMetadataB\x03\xe0\x41\x03\x12J\n\nautomation\x18\x02 \x01(\x0b\x32\x31.google.cloud.deploy.v1.AutomationRolloutMetadataB\x03\xe0\x41\x03\x12;\n\x06\x63ustom\x18\x03 \x01(\x0b\x32&.google.cloud.deploy.v1.CustomMetadataB\x03\xe0\x41\x03\"\xe5\x01\n\x14\x44\x65ployJobRunMetadata\x12@\n\tcloud_run\x18\x01 \x01(\x0b\x32(.google.cloud.deploy.v1.CloudRunMetadataB\x03\xe0\x41\x03\x12N\n\rcustom_target\x18\x02 \x01(\x0b\x32\x32.google.cloud.deploy.v1.CustomTargetDeployMetadataB\x03\xe0\x41\x03\x12;\n\x06\x63ustom\x18\x03 \x01(\x0b\x32&.google.cloud.deploy.v1.CustomMetadataB\x03\xe0\x41\x03\"\xa6\x01\n\x10\x43loudRunMetadata\x12\x33\n\x07service\x18\x01 \x01(\tB\"\xe0\x41\x03\xfa\x41\x1c\n\x1arun.googleapis.com/Service\x12\x19\n\x0cservice_urls\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12\x15\n\x08revision\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12+\n\x03job\x18\x04 \x01(\tB\x1e\xe0\x41\x03\xfa\x41\x18\n\x16run.googleapis.com/Job\"7\n\x1a\x43ustomTargetDeployMetadata\x12\x19\n\x0cskip_message\x18\x01 \x01(\tB\x03\xe0\x41\x03\"\x8b\x01\n\x19\x41utomationRolloutMetadata\x12#\n\x16promote_automation_run\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12$\n\x17\x61\x64vance_automation_runs\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12#\n\x16repair_automation_runs\x18\x03 \x03(\tB\x03\xe0\x41\x03\"\x88\x01\n\x0e\x43ustomMetadata\x12G\n\x06values\x18\x01 \x03(\x0b\x32\x32.google.cloud.deploy.v1.CustomMetadata.ValuesEntryB\x03\xe0\x41\x03\x1a-\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xfc\x02\n\x05Phase\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x37\n\x05state\x18\x03 \x01(\x0e\x32#.google.cloud.deploy.v1.Phase.StateB\x03\xe0\x41\x03\x12\x19\n\x0cskip_message\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x0f\x64\x65ployment_jobs\x18\x04 \x01(\x0b\x32&.google.cloud.deploy.v1.DeploymentJobsB\x03\xe0\x41\x03H\x00\x12K\n\x12\x63hild_rollout_jobs\x18\x05 \x01(\x0b\x32(.google.cloud.deploy.v1.ChildRolloutJobsB\x03\xe0\x41\x03H\x00\"q\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0f\n\x0bIN_PROGRESS\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0b\n\x07\x41\x42ORTED\x10\x05\x12\x0b\n\x07SKIPPED\x10\x06\x42\x06\n\x04jobs\"\xef\x01\n\x0e\x44\x65ploymentJobs\x12\x34\n\ndeploy_job\x18\x01 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12\x34\n\nverify_job\x18\x02 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12\x37\n\rpredeploy_job\x18\x03 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12\x38\n\x0epostdeploy_job\x18\x04 \x01(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\"\x91\x01\n\x10\x43hildRolloutJobs\x12=\n\x13\x63reate_rollout_jobs\x18\x01 \x03(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\x12>\n\x14\x61\x64vance_rollout_jobs\x18\x02 \x03(\x0b\x32\x1b.google.cloud.deploy.v1.JobB\x03\xe0\x41\x03\"\xf7\x05\n\x03Job\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x35\n\x05state\x18\x02 \x01(\x0e\x32!.google.cloud.deploy.v1.Job.StateB\x03\xe0\x41\x03\x12\x19\n\x0cskip_message\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12:\n\x07job_run\x18\x03 \x01(\tB)\xe0\x41\x03\xfa\x41#\n!clouddeploy.googleapis.com/JobRun\x12<\n\ndeploy_job\x18\x04 \x01(\x0b\x32!.google.cloud.deploy.v1.DeployJobB\x03\xe0\x41\x03H\x00\x12<\n\nverify_job\x18\x05 \x01(\x0b\x32!.google.cloud.deploy.v1.VerifyJobB\x03\xe0\x41\x03H\x00\x12\x42\n\rpredeploy_job\x18\t \x01(\x0b\x32$.google.cloud.deploy.v1.PredeployJobB\x03\xe0\x41\x03H\x00\x12\x44\n\x0epostdeploy_job\x18\n \x01(\x0b\x32%.google.cloud.deploy.v1.PostdeployJobB\x03\xe0\x41\x03H\x00\x12V\n\x18\x63reate_child_rollout_job\x18\x06 \x01(\x0b\x32-.google.cloud.deploy.v1.CreateChildRolloutJobB\x03\xe0\x41\x03H\x00\x12X\n\x19\x61\x64vance_child_rollout_job\x18\x07 \x01(\x0b\x32..google.cloud.deploy.v1.AdvanceChildRolloutJobB\x03\xe0\x41\x03H\x00\"\x8c\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x12\x0f\n\x0bIN_PROGRESS\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05\x12\x0b\n\x07\x41\x42ORTED\x10\x06\x12\x0b\n\x07SKIPPED\x10\x07\x12\x0b\n\x07IGNORED\x10\x08\x42\n\n\x08job_type\"\x0b\n\tDeployJob\"\x0b\n\tVerifyJob\"$\n\x0cPredeployJob\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x03\"%\n\rPostdeployJob\x12\x14\n\x07\x61\x63tions\x18\x01 \x03(\tB\x03\xe0\x41\x03\"\x17\n\x15\x43reateChildRolloutJob\"\x18\n\x16\x41\x64vanceChildRolloutJob\"\xae\x01\n\x13ListRolloutsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"w\n\x14ListRolloutsResponse\x12\x31\n\x08rollouts\x18\x01 \x03(\x0b\x32\x1f.google.cloud.deploy.v1.Rollout\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"M\n\x11GetRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\"\xc8\x02\n\x14\x43reateRolloutRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\x12\x17\n\nrollout_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x35\n\x07rollout\x18\x03 \x01(\x0b\x32\x1f.google.cloud.deploy.v1.RolloutB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x12O\n\x16override_deploy_policy\x18\x06 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\x12\x1e\n\x11starting_phase_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\"\xb9\x01\n\x15\x41pproveRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08\x61pproved\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02\x12O\n\x16override_deploy_policy\x18\x03 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\x18\n\x16\x41pproveRolloutResponse\"\xb9\x01\n\x15\x41\x64vanceRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12O\n\x16override_deploy_policy\x18\x03 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\x18\n\x16\x41\x64vanceRolloutResponse\"\xa1\x01\n\x14\x43\x61ncelRolloutRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12O\n\x16override_deploy_policy\x18\x02 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\x17\n\x15\x43\x61ncelRolloutResponse\"\xcc\x01\n\x10IgnoreJobRequest\x12;\n\x07rollout\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x13\n\x06job_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12O\n\x16override_deploy_policy\x18\x04 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\x13\n\x11IgnoreJobResponse\"\xcb\x01\n\x0fRetryJobRequest\x12;\n\x07rollout\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x15\n\x08phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x13\n\x06job_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12O\n\x16override_deploy_policy\x18\x04 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\x12\n\x10RetryJobResponse\"Q\n\x15\x41\x62\x61ndonReleaseRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Release\"\x18\n\x16\x41\x62\x61ndonReleaseResponse\"\xd0\x08\n\x06JobRun\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08phase_id\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06job_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x33\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x38\n\x05state\x18\x08 \x01(\x0e\x32$.google.cloud.deploy.v1.JobRun.StateB\x03\xe0\x41\x03\x12\x43\n\x0e\x64\x65ploy_job_run\x18\t \x01(\x0b\x32$.google.cloud.deploy.v1.DeployJobRunB\x03\xe0\x41\x03H\x00\x12\x43\n\x0everify_job_run\x18\n \x01(\x0b\x32$.google.cloud.deploy.v1.VerifyJobRunB\x03\xe0\x41\x03H\x00\x12I\n\x11predeploy_job_run\x18\x0e \x01(\x0b\x32\'.google.cloud.deploy.v1.PredeployJobRunB\x03\xe0\x41\x03H\x00\x12K\n\x12postdeploy_job_run\x18\x0f \x01(\x0b\x32(.google.cloud.deploy.v1.PostdeployJobRunB\x03\xe0\x41\x03H\x00\x12]\n\x1c\x63reate_child_rollout_job_run\x18\x0c \x01(\x0b\x32\x30.google.cloud.deploy.v1.CreateChildRolloutJobRunB\x03\xe0\x41\x03H\x00\x12_\n\x1d\x61\x64vance_child_rollout_job_run\x18\r \x01(\x0b\x32\x31.google.cloud.deploy.v1.AdvanceChildRolloutJobRunB\x03\xe0\x41\x03H\x00\x12\x11\n\x04\x65tag\x18\x0b \x01(\tB\x03\xe0\x41\x03\"k\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bIN_PROGRESS\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x12\x0f\n\x0bTERMINATING\x10\x04\x12\x0e\n\nTERMINATED\x10\x05:\xaf\x01\xea\x41\xab\x01\n!clouddeploy.googleapis.com/JobRun\x12\x85\x01projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{job_run}B\t\n\x07job_run\"\x95\x04\n\x0c\x44\x65ployJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12M\n\rfailure_cause\x18\x02 \x01(\x0e\x32\x31.google.cloud.deploy.v1.DeployJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x43\n\x08metadata\x18\x04 \x01(\x0b\x32,.google.cloud.deploy.v1.DeployJobRunMetadataB\x03\xe0\x41\x03\x12=\n\x08\x61rtifact\x18\x05 \x01(\x0b\x32&.google.cloud.deploy.v1.DeployArtifactB\x03\xe0\x41\x03\"\xdb\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12 \n\x1cMISSING_RESOURCES_FOR_CANARY\x10\x04\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x05\x12 \n\x1c\x44\x45PLOY_FEATURE_NOT_SUPPORTED\x10\x06\"\xa8\x03\n\x0cVerifyJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12\x19\n\x0c\x61rtifact_uri\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0e\x65vent_log_path\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12M\n\rfailure_cause\x18\x04 \x01(\x0e\x32\x31.google.cloud.deploy.v1.VerifyJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\xba\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12!\n\x1dVERIFICATION_CONFIG_NOT_FOUND\x10\x04\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x05\"\xd3\x02\n\x0fPredeployJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12P\n\rfailure_cause\x18\x02 \x01(\x0e\x32\x34.google.cloud.deploy.v1.PredeployJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\x97\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x04\"\xd5\x02\n\x10PostdeployJobRun\x12\x36\n\x05\x62uild\x18\x01 \x01(\tB\'\xe0\x41\x03\xfa\x41!\n\x1f\x63loudbuild.googleapis.com/Build\x12Q\n\rfailure_cause\x18\x02 \x01(\x0e\x32\x35.google.cloud.deploy.v1.PostdeployJobRun.FailureCauseB\x03\xe0\x41\x03\x12\x1c\n\x0f\x66\x61ilure_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\"\x97\x01\n\x0c\x46\x61ilureCause\x12\x1d\n\x19\x46\x41ILURE_CAUSE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43LOUD_BUILD_UNAVAILABLE\x10\x01\x12\x14\n\x10\x45XECUTION_FAILED\x10\x02\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x03\x12\x1e\n\x1a\x43LOUD_BUILD_REQUEST_FAILED\x10\x04\"O\n\x18\x43reateChildRolloutJobRun\x12\x14\n\x07rollout\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1d\n\x10rollout_phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\"P\n\x19\x41\x64vanceChildRolloutJobRun\x12\x14\n\x07rollout\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1d\n\x10rollout_phase_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\"\xad\x01\n\x12ListJobRunsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"clouddeploy.googleapis.com/Rollout\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"u\n\x13ListJobRunsResponse\x12\x30\n\x08job_runs\x18\x01 \x03(\x0b\x32\x1e.google.cloud.deploy.v1.JobRun\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"K\n\x10GetJobRunRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/JobRun\"\xa2\x01\n\x16TerminateJobRunRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/JobRun\x12O\n\x16override_deploy_policy\x18\x02 \x03(\tB/\xe0\x41\x01\xfa\x41)\n\'clouddeploy.googleapis.com/DeployPolicy\"\x19\n\x17TerminateJobRunResponse\"\xd5\x01\n\x06\x43onfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x43\n\x12supported_versions\x18\x02 \x03(\x0b\x32\'.google.cloud.deploy.v1.SkaffoldVersion\x12 \n\x18\x64\x65\x66\x61ult_skaffold_version\x18\x03 \x01(\t:V\xea\x41S\n!clouddeploy.googleapis.com/Config\x12.projects/{project}/locations/{location}/config\"\xc7\x01\n\x0fSkaffoldVersion\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x39\n\x15maintenance_mode_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12;\n\x17support_expiration_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\x10support_end_date\x18\x02 \x01(\x0b\x32\x11.google.type.Date\"K\n\x10GetConfigRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!clouddeploy.googleapis.com/Config\"\x97\x06\n\nAutomation\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12M\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32\x33.google.cloud.deploy.v1.Automation.AnnotationsEntryB\x03\xe0\x41\x01\x12\x43\n\x06labels\x18\x07 \x03(\x0b\x32..google.cloud.deploy.v1.Automation.LabelsEntryB\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tsuspended\x18\t \x01(\x08\x42\x03\xe0\x41\x01\x12\x1c\n\x0fservice_account\x18\n \x01(\tB\x03\xe0\x41\x02\x12I\n\x08selector\x18\x0b \x01(\x0b\x32\x32.google.cloud.deploy.v1.AutomationResourceSelectorB\x03\xe0\x41\x02\x12:\n\x05rules\x18\x0e \x03(\x0b\x32&.google.cloud.deploy.v1.AutomationRuleB\x03\xe0\x41\x02\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x96\x01\xea\x41\x92\x01\n%clouddeploy.googleapis.com/Automation\x12\x66projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}R\x01\x01\"V\n\x1a\x41utomationResourceSelector\x12\x38\n\x07targets\x18\x01 \x03(\x0b\x32\'.google.cloud.deploy.v1.TargetAttribute\"\x89\x02\n\x0e\x41utomationRule\x12O\n\x14promote_release_rule\x18\x01 \x01(\x0b\x32*.google.cloud.deploy.v1.PromoteReleaseRuleB\x03\xe0\x41\x01H\x00\x12O\n\x14\x61\x64vance_rollout_rule\x18\x02 \x01(\x0b\x32*.google.cloud.deploy.v1.AdvanceRolloutRuleB\x03\xe0\x41\x01H\x00\x12M\n\x13repair_rollout_rule\x18\x03 \x01(\x0b\x32).google.cloud.deploy.v1.RepairRolloutRuleB\x03\xe0\x41\x01H\x00\x42\x06\n\x04rule\"\xe0\x01\n\x12PromoteReleaseRule\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\"\n\x15\x64\x65stination_target_id\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12G\n\tcondition\x18\x05 \x01(\x0b\x32/.google.cloud.deploy.v1.AutomationRuleConditionB\x03\xe0\x41\x03\x12\x1e\n\x11\x64\x65stination_phase\x18\x08 \x01(\tB\x03\xe0\x41\x01\"\xb8\x01\n\x12\x41\x64vanceRolloutRule\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rsource_phases\x18\x06 \x03(\tB\x03\xe0\x41\x01\x12,\n\x04wait\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12G\n\tcondition\x18\x05 \x01(\x0b\x32/.google.cloud.deploy.v1.AutomationRuleConditionB\x03\xe0\x41\x03\"\x80\x01\n\x11RepairRolloutRule\x12\x0f\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04jobs\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12G\n\tcondition\x18\x06 \x01(\x0b\x32/.google.cloud.deploy.v1.AutomationRuleConditionB\x03\xe0\x41\x03\"r\n\x17\x41utomationRuleCondition\x12W\n\x19targets_present_condition\x18\x01 \x01(\x0b\x32/.google.cloud.deploy.v1.TargetsPresentConditionB\x03\xe0\x41\x01\"\xe6\x01\n\x17\x43reateAutomationRequest\x12=\n\x06parent\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\x12%clouddeploy.googleapis.com/Automation\x12\x1a\n\rautomation_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12;\n\nautomation\x18\x03 \x01(\x0b\x32\".google.cloud.deploy.v1.AutomationB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xdd\x01\n\x17UpdateAutomationRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12;\n\nautomation\x18\x02 \x01(\x0b\x32\".google.cloud.deploy.v1.AutomationB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"\xba\x01\n\x17\x44\x65leteAutomationRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%clouddeploy.googleapis.com/Automation\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x11\n\x04\x65tag\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\xa0\x01\n\x16ListAutomationsRequest\x12=\n\x06parent\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\x12%clouddeploy.googleapis.com/Automation\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x80\x01\n\x17ListAutomationsResponse\x12\x37\n\x0b\x61utomations\x18\x01 \x03(\x0b\x32\".google.cloud.deploy.v1.Automation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"S\n\x14GetAutomationRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%clouddeploy.googleapis.com/Automation\"\x99\t\n\rAutomationRun\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04\x65tag\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1c\n\x0fservice_account\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x44\n\x13\x61utomation_snapshot\x18\x06 \x01(\x0b\x32\".google.cloud.deploy.v1.AutomationB\x03\xe0\x41\x03\x12\x16\n\ttarget_id\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12?\n\x05state\x18\x08 \x01(\x0e\x32+.google.cloud.deploy.v1.AutomationRun.StateB\x03\xe0\x41\x03\x12\x1e\n\x11state_description\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x10policy_violation\x18\n \x01(\x0b\x32\'.google.cloud.deploy.v1.PolicyViolationB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x14\n\x07rule_id\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rautomation_id\x18\x0f \x01(\tB\x03\xe0\x41\x03\x12Y\n\x19promote_release_operation\x18\r \x01(\x0b\x32/.google.cloud.deploy.v1.PromoteReleaseOperationB\x03\xe0\x41\x03H\x00\x12Y\n\x19\x61\x64vance_rollout_operation\x18\x0e \x01(\x0b\x32/.google.cloud.deploy.v1.AdvanceRolloutOperationB\x03\xe0\x41\x03H\x00\x12W\n\x18repair_rollout_operation\x18\x11 \x01(\x0b\x32..google.cloud.deploy.v1.RepairRolloutOperationB\x03\xe0\x41\x03H\x00\x12\x38\n\x0fwait_until_time\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"s\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\r\n\tCANCELLED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x12\x0f\n\x0bIN_PROGRESS\x10\x04\x12\x0b\n\x07PENDING\x10\x05\x12\x0b\n\x07\x41\x42ORTED\x10\x06:\x9d\x01\xea\x41\x99\x01\n(clouddeploy.googleapis.com/AutomationRun\x12mprojects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automationRuns/{automation_run}B\x0b\n\toperation\"\x89\x01\n\x17PromoteReleaseOperation\x12\x16\n\ttarget_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x14\n\x07rollout\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x12\n\x05phase\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\x98\x01\n\x17\x41\x64vanceRolloutOperation\x12\x19\n\x0csource_phase\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x14\n\x07rollout\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1e\n\x11\x64\x65stination_phase\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\x9b\x01\n\x16RepairRolloutOperation\x12\x14\n\x07rollout\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12?\n\rrepair_phases\x18\x03 \x03(\x0b\x32#.google.cloud.deploy.v1.RepairPhaseB\x03\xe0\x41\x03\x12\x15\n\x08phase_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x06job_id\x18\x05 \x01(\tB\x03\xe0\x41\x03\"\x99\x01\n\x0bRepairPhase\x12\x38\n\x05retry\x18\x01 \x01(\x0b\x32\".google.cloud.deploy.v1.RetryPhaseB\x03\xe0\x41\x03H\x00\x12@\n\x08rollback\x18\x02 \x01(\x0b\x32\'.google.cloud.deploy.v1.RollbackAttemptB\x03\xe0\x41\x03H\x00\x42\x0e\n\x0crepair_phase\"\xa6\x01\n\nRetryPhase\x12\x1b\n\x0etotal_attempts\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12>\n\x0c\x62\x61\x63koff_mode\x18\x02 \x01(\x0e\x32#.google.cloud.deploy.v1.BackoffModeB\x03\xe0\x41\x03\x12;\n\x08\x61ttempts\x18\x05 \x03(\x0b\x32$.google.cloud.deploy.v1.RetryAttemptB\x03\xe0\x41\x03\"\xa4\x01\n\x0cRetryAttempt\x12\x14\n\x07\x61ttempt\x18\x01 \x01(\x03\x42\x03\xe0\x41\x03\x12,\n\x04wait\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x03\x12\x37\n\x05state\x18\x05 \x01(\x0e\x32#.google.cloud.deploy.v1.RepairStateB\x03\xe0\x41\x03\x12\x17\n\nstate_desc\x18\x06 \x01(\tB\x03\xe0\x41\x03\"\x9c\x01\n\x0fRollbackAttempt\x12\x1e\n\x11\x64\x65stination_phase\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\nrollout_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x37\n\x05state\x18\x03 \x01(\x0e\x32#.google.cloud.deploy.v1.RepairStateB\x03\xe0\x41\x03\x12\x17\n\nstate_desc\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\xa6\x01\n\x19ListAutomationRunsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(clouddeploy.googleapis.com/AutomationRun\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x8a\x01\n\x1aListAutomationRunsResponse\x12>\n\x0f\x61utomation_runs\x18\x01 \x03(\x0b\x32%.google.cloud.deploy.v1.AutomationRun\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"Y\n\x17GetAutomationRunRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(clouddeploy.googleapis.com/AutomationRun\"\\\n\x1a\x43\x61ncelAutomationRunRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(clouddeploy.googleapis.com/AutomationRun\"\x1d\n\x1b\x43\x61ncelAutomationRunResponse*\xb9\x01\n\x14SkaffoldSupportState\x12&\n\"SKAFFOLD_SUPPORT_STATE_UNSPECIFIED\x10\x00\x12$\n SKAFFOLD_SUPPORT_STATE_SUPPORTED\x10\x01\x12+\n\'SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE\x10\x02\x12&\n\"SKAFFOLD_SUPPORT_STATE_UNSUPPORTED\x10\x03*b\n\x0b\x42\x61\x63koffMode\x12\x1c\n\x18\x42\x41\x43KOFF_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13\x42\x41\x43KOFF_MODE_LINEAR\x10\x01\x12\x1c\n\x18\x42\x41\x43KOFF_MODE_EXPONENTIAL\x10\x02*\xce\x01\n\x0bRepairState\x12\x1c\n\x18REPAIR_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16REPAIR_STATE_SUCCEEDED\x10\x01\x12\x1a\n\x16REPAIR_STATE_CANCELLED\x10\x02\x12\x17\n\x13REPAIR_STATE_FAILED\x10\x03\x12\x1c\n\x18REPAIR_STATE_IN_PROGRESS\x10\x04\x12\x18\n\x14REPAIR_STATE_PENDING\x10\x05\x12\x18\n\x14REPAIR_STATE_ABORTED\x10\x07\x32\xefL\n\x0b\x43loudDeploy\x12\xcc\x01\n\x15ListDeliveryPipelines\x12\x34.google.cloud.deploy.v1.ListDeliveryPipelinesRequest\x1a\x35.google.cloud.deploy.v1.ListDeliveryPipelinesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/deliveryPipelines\x12\xb9\x01\n\x13GetDeliveryPipeline\x12\x32.google.cloud.deploy.v1.GetDeliveryPipelineRequest\x1a(.google.cloud.deploy.v1.DeliveryPipeline\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/deliveryPipelines/*}\x12\x99\x02\n\x16\x43reateDeliveryPipeline\x12\x35.google.cloud.deploy.v1.CreateDeliveryPipelineRequest\x1a\x1d.google.longrunning.Operation\"\xa8\x01\xca\x41%\n\x10\x44\x65liveryPipeline\x12\x11OperationMetadata\xda\x41-parent,delivery_pipeline,delivery_pipeline_id\x82\xd3\xe4\x93\x02J\"5/v1/{parent=projects/*/locations/*}/deliveryPipelines:\x11\x64\x65livery_pipeline\x12\x9b\x02\n\x16UpdateDeliveryPipeline\x12\x35.google.cloud.deploy.v1.UpdateDeliveryPipelineRequest\x1a\x1d.google.longrunning.Operation\"\xaa\x01\xca\x41%\n\x10\x44\x65liveryPipeline\x12\x11OperationMetadata\xda\x41\x1d\x64\x65livery_pipeline,update_mask\x82\xd3\xe4\x93\x02\\2G/v1/{delivery_pipeline.name=projects/*/locations/*/deliveryPipelines/*}:\x11\x64\x65livery_pipeline\x12\xe1\x01\n\x16\x44\x65leteDeliveryPipeline\x12\x35.google.cloud.deploy.v1.DeleteDeliveryPipelineRequest\x1a\x1d.google.longrunning.Operation\"q\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/deliveryPipelines/*}\x12\xa4\x01\n\x0bListTargets\x12*.google.cloud.deploy.v1.ListTargetsRequest\x1a+.google.cloud.deploy.v1.ListTargetsResponse\"<\xda\x41\x06parent\x82\xd3\xe4\x93\x02-\x12+/v1/{parent=projects/*/locations/*}/targets\x12\xdc\x01\n\x0eRollbackTarget\x12-.google.cloud.deploy.v1.RollbackTargetRequest\x1a..google.cloud.deploy.v1.RollbackTargetResponse\"k\xda\x41\x19name,target_id,rollout_id\x82\xd3\xe4\x93\x02I\"D/v1/{name=projects/*/locations/*/deliveryPipelines/*}:rollbackTarget:\x01*\x12\x91\x01\n\tGetTarget\x12(.google.cloud.deploy.v1.GetTargetRequest\x1a\x1e.google.cloud.deploy.v1.Target\":\xda\x41\x04name\x82\xd3\xe4\x93\x02-\x12+/v1/{name=projects/*/locations/*/targets/*}\x12\xcf\x01\n\x0c\x43reateTarget\x12+.google.cloud.deploy.v1.CreateTargetRequest\x1a\x1d.google.longrunning.Operation\"s\xca\x41\x1b\n\x06Target\x12\x11OperationMetadata\xda\x41\x17parent,target,target_id\x82\xd3\xe4\x93\x02\x35\"+/v1/{parent=projects/*/locations/*}/targets:\x06target\x12\xd1\x01\n\x0cUpdateTarget\x12+.google.cloud.deploy.v1.UpdateTargetRequest\x1a\x1d.google.longrunning.Operation\"u\xca\x41\x1b\n\x06Target\x12\x11OperationMetadata\xda\x41\x12target,update_mask\x82\xd3\xe4\x93\x02<22/v1/{target.name=projects/*/locations/*/targets/*}:\x06target\x12\xc3\x01\n\x0c\x44\x65leteTarget\x12+.google.cloud.deploy.v1.DeleteTargetRequest\x1a\x1d.google.longrunning.Operation\"g\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02-*+/v1/{name=projects/*/locations/*/targets/*}\x12\xcc\x01\n\x15ListCustomTargetTypes\x12\x34.google.cloud.deploy.v1.ListCustomTargetTypesRequest\x1a\x35.google.cloud.deploy.v1.ListCustomTargetTypesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/customTargetTypes\x12\xb9\x01\n\x13GetCustomTargetType\x12\x32.google.cloud.deploy.v1.GetCustomTargetTypeRequest\x1a(.google.cloud.deploy.v1.CustomTargetType\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/customTargetTypes/*}\x12\x9c\x02\n\x16\x43reateCustomTargetType\x12\x35.google.cloud.deploy.v1.CreateCustomTargetTypeRequest\x1a\x1d.google.longrunning.Operation\"\xab\x01\xca\x41%\n\x10\x43ustomTargetType\x12\x11OperationMetadata\xda\x41/parent,custom_target_type,custom_target_type_id\x82\xd3\xe4\x93\x02K\"5/v1/{parent=projects/*/locations/*}/customTargetTypes:\x12\x63ustom_target_type\x12\x9e\x02\n\x16UpdateCustomTargetType\x12\x35.google.cloud.deploy.v1.UpdateCustomTargetTypeRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41%\n\x10\x43ustomTargetType\x12\x11OperationMetadata\xda\x41\x1e\x63ustom_target_type,update_mask\x82\xd3\xe4\x93\x02^2H/v1/{custom_target_type.name=projects/*/locations/*/customTargetTypes/*}:\x12\x63ustom_target_type\x12\xe1\x01\n\x16\x44\x65leteCustomTargetType\x12\x35.google.cloud.deploy.v1.DeleteCustomTargetTypeRequest\x1a\x1d.google.longrunning.Operation\"q\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/customTargetTypes/*}\x12\xbc\x01\n\x0cListReleases\x12+.google.cloud.deploy.v1.ListReleasesRequest\x1a,.google.cloud.deploy.v1.ListReleasesResponse\"Q\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x42\x12@/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases\x12\xa9\x01\n\nGetRelease\x12).google.cloud.deploy.v1.GetReleaseRequest\x1a\x1f.google.cloud.deploy.v1.Release\"O\xda\x41\x04name\x82\xd3\xe4\x93\x02\x42\x12@/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}\x12\xeb\x01\n\rCreateRelease\x12,.google.cloud.deploy.v1.CreateReleaseRequest\x1a\x1d.google.longrunning.Operation\"\x8c\x01\xca\x41\x1c\n\x07Release\x12\x11OperationMetadata\xda\x41\x19parent,release,release_id\x82\xd3\xe4\x93\x02K\"@/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/releases:\x07release\x12\xcb\x01\n\x0e\x41\x62\x61ndonRelease\x12-.google.cloud.deploy.v1.AbandonReleaseRequest\x1a..google.cloud.deploy.v1.AbandonReleaseResponse\"Z\xda\x41\x04name\x82\xd3\xe4\x93\x02M\"H/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*}:abandon:\x01*\x12\xfe\x01\n\x12\x43reateDeployPolicy\x12\x31.google.cloud.deploy.v1.CreateDeployPolicyRequest\x1a\x1d.google.longrunning.Operation\"\x95\x01\xca\x41!\n\x0c\x44\x65ployPolicy\x12\x11OperationMetadata\xda\x41%parent,deploy_policy,deploy_policy_id\x82\xd3\xe4\x93\x02\x43\"2/v1/{parent=projects/*/locations/*}/deployPolicies:\rdeploy_policy\x12\x80\x02\n\x12UpdateDeployPolicy\x12\x31.google.cloud.deploy.v1.UpdateDeployPolicyRequest\x1a\x1d.google.longrunning.Operation\"\x97\x01\xca\x41!\n\x0c\x44\x65ployPolicy\x12\x11OperationMetadata\xda\x41\x19\x64\x65ploy_policy,update_mask\x82\xd3\xe4\x93\x02Q2@/v1/{deploy_policy.name=projects/*/locations/*/deployPolicies/*}:\rdeploy_policy\x12\xd6\x01\n\x12\x44\x65leteDeployPolicy\x12\x31.google.cloud.deploy.v1.DeleteDeployPolicyRequest\x1a\x1d.google.longrunning.Operation\"n\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x34*2/v1/{name=projects/*/locations/*/deployPolicies/*}\x12\xc0\x01\n\x12ListDeployPolicies\x12\x31.google.cloud.deploy.v1.ListDeployPoliciesRequest\x1a\x32.google.cloud.deploy.v1.ListDeployPoliciesResponse\"C\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{parent=projects/*/locations/*}/deployPolicies\x12\xaa\x01\n\x0fGetDeployPolicy\x12..google.cloud.deploy.v1.GetDeployPolicyRequest\x1a$.google.cloud.deploy.v1.DeployPolicy\"A\xda\x41\x04name\x82\xd3\xe4\x93\x02\x34\x12\x32/v1/{name=projects/*/locations/*/deployPolicies/*}\x12\xd6\x01\n\x0e\x41pproveRollout\x12-.google.cloud.deploy.v1.ApproveRolloutRequest\x1a..google.cloud.deploy.v1.ApproveRolloutResponse\"e\xda\x41\x04name\x82\xd3\xe4\x93\x02X\"S/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:approve:\x01*\x12\xdf\x01\n\x0e\x41\x64vanceRollout\x12-.google.cloud.deploy.v1.AdvanceRolloutRequest\x1a..google.cloud.deploy.v1.AdvanceRolloutResponse\"n\xda\x41\rname,phase_id\x82\xd3\xe4\x93\x02X\"S/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:advance:\x01*\x12\xd2\x01\n\rCancelRollout\x12,.google.cloud.deploy.v1.CancelRolloutRequest\x1a-.google.cloud.deploy.v1.CancelRolloutResponse\"d\xda\x41\x04name\x82\xd3\xe4\x93\x02W\"R/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:cancel:\x01*\x12\xc7\x01\n\x0cListRollouts\x12+.google.cloud.deploy.v1.ListRolloutsRequest\x1a,.google.cloud.deploy.v1.ListRolloutsResponse\"\\\xda\x41\x06parent\x82\xd3\xe4\x93\x02M\x12K/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts\x12\xb4\x01\n\nGetRollout\x12).google.cloud.deploy.v1.GetRolloutRequest\x1a\x1f.google.cloud.deploy.v1.Rollout\"Z\xda\x41\x04name\x82\xd3\xe4\x93\x02M\x12K/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}\x12\xf6\x01\n\rCreateRollout\x12,.google.cloud.deploy.v1.CreateRolloutRequest\x1a\x1d.google.longrunning.Operation\"\x97\x01\xca\x41\x1c\n\x07Rollout\x12\x11OperationMetadata\xda\x41\x19parent,rollout,rollout_id\x82\xd3\xe4\x93\x02V\"K/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*}/rollouts:\x07rollout\x12\xdf\x01\n\tIgnoreJob\x12(.google.cloud.deploy.v1.IgnoreJobRequest\x1a).google.cloud.deploy.v1.IgnoreJobResponse\"}\xda\x41\x17rollout,phase_id,job_id\x82\xd3\xe4\x93\x02]\"X/v1/{rollout=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:ignoreJob:\x01*\x12\xdb\x01\n\x08RetryJob\x12\'.google.cloud.deploy.v1.RetryJobRequest\x1a(.google.cloud.deploy.v1.RetryJobResponse\"|\xda\x41\x17rollout,phase_id,job_id\x82\xd3\xe4\x93\x02\\\"W/v1/{rollout=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}:retryJob:\x01*\x12\xce\x01\n\x0bListJobRuns\x12*.google.cloud.deploy.v1.ListJobRunsRequest\x1a+.google.cloud.deploy.v1.ListJobRunsResponse\"f\xda\x41\x06parent\x82\xd3\xe4\x93\x02W\x12U/v1/{parent=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*}/jobRuns\x12\xbb\x01\n\tGetJobRun\x12(.google.cloud.deploy.v1.GetJobRunRequest\x1a\x1e.google.cloud.deploy.v1.JobRun\"d\xda\x41\x04name\x82\xd3\xe4\x93\x02W\x12U/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*/jobRuns/*}\x12\xe5\x01\n\x0fTerminateJobRun\x12..google.cloud.deploy.v1.TerminateJobRunRequest\x1a/.google.cloud.deploy.v1.TerminateJobRunResponse\"q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x64\"_/v1/{name=projects/*/locations/*/deliveryPipelines/*/releases/*/rollouts/*/jobRuns/*}:terminate:\x01*\x12\x8e\x01\n\tGetConfig\x12(.google.cloud.deploy.v1.GetConfigRequest\x1a\x1e.google.cloud.deploy.v1.Config\"7\xda\x41\x04name\x82\xd3\xe4\x93\x02*\x12(/v1/{name=projects/*/locations/*/config}\x12\x80\x02\n\x10\x43reateAutomation\x12/.google.cloud.deploy.v1.CreateAutomationRequest\x1a\x1d.google.longrunning.Operation\"\x9b\x01\xca\x41\x1f\n\nAutomation\x12\x11OperationMetadata\xda\x41\x1fparent,automation,automation_id\x82\xd3\xe4\x93\x02Q\"C/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/automations:\nautomation\x12\x82\x02\n\x10UpdateAutomation\x12/.google.cloud.deploy.v1.UpdateAutomationRequest\x1a\x1d.google.longrunning.Operation\"\x9d\x01\xca\x41\x1f\n\nAutomation\x12\x11OperationMetadata\xda\x41\x16\x61utomation,update_mask\x82\xd3\xe4\x93\x02\\2N/v1/{automation.name=projects/*/locations/*/deliveryPipelines/*/automations/*}:\nautomation\x12\xe3\x01\n\x10\x44\x65leteAutomation\x12/.google.cloud.deploy.v1.DeleteAutomationRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45*C/v1/{name=projects/*/locations/*/deliveryPipelines/*/automations/*}\x12\xb5\x01\n\rGetAutomation\x12,.google.cloud.deploy.v1.GetAutomationRequest\x1a\".google.cloud.deploy.v1.Automation\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{name=projects/*/locations/*/deliveryPipelines/*/automations/*}\x12\xc8\x01\n\x0fListAutomations\x12..google.cloud.deploy.v1.ListAutomationsRequest\x1a/.google.cloud.deploy.v1.ListAutomationsResponse\"T\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/automations\x12\xc1\x01\n\x10GetAutomationRun\x12/.google.cloud.deploy.v1.GetAutomationRunRequest\x1a%.google.cloud.deploy.v1.AutomationRun\"U\xda\x41\x04name\x82\xd3\xe4\x93\x02H\x12\x46/v1/{name=projects/*/locations/*/deliveryPipelines/*/automationRuns/*}\x12\xd4\x01\n\x12ListAutomationRuns\x12\x31.google.cloud.deploy.v1.ListAutomationRunsRequest\x1a\x32.google.cloud.deploy.v1.ListAutomationRunsResponse\"W\xda\x41\x06parent\x82\xd3\xe4\x93\x02H\x12\x46/v1/{parent=projects/*/locations/*/deliveryPipelines/*}/automationRuns\x12\xdf\x01\n\x13\x43\x61ncelAutomationRun\x12\x32.google.cloud.deploy.v1.CancelAutomationRunRequest\x1a\x33.google.cloud.deploy.v1.CancelAutomationRunResponse\"_\xda\x41\x04name\x82\xd3\xe4\x93\x02R\"M/v1/{name=projects/*/locations/*/deliveryPipelines/*/automationRuns/*}:cancel:\x01*\x1aN\xca\x41\x1a\x63louddeploy.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x8d\x07\n\x1a\x63om.google.cloud.deploy.v1B\x10\x43loudDeployProtoP\x01Z2cloud.google.com/go/deploy/apiv1/deploypb;deploypb\xea\x41Y\n\x1f\x63loudbuild.googleapis.com/Build\x12\x36projects/{project}/locations/{location}/builds/{build}\xea\x41\x82\x01\n$cloudbuild.googleapis.com/Repository\x12Zprojects/{project}/locations/{location}/connections/{connection}/repositories/{repository}\xea\x41^\n container.googleapis.com/Cluster\x12:projects/{project}/locations/{location}/clusters/{cluster}\xea\x41\x66\n$clouddeploy.googleapis.com/Operation\x12>projects/{project}/locations/{location}/operations/{operation}\xea\x41i\n$cloudbuild.googleapis.com/WorkerPool\x12\x41projects/{project}/locations/{location}/workerPools/{worker_pool}\xea\x41\x64\n gkehub.googleapis.com/Membership\x12@projects/{project}/locations/{location}/memberships/{membership}\xea\x41X\n\x1arun.googleapis.com/Service\x12:projects/{project}/locations/{location}/services/{service}\xea\x41L\n\x16run.googleapis.com/Job\x12\x32projects/{project}/locations/{location}/jobs/{job}b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -35,6 +37,7 @@ ["google.protobuf.Duration", "google/protobuf/duration.proto"], ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"], ["google.type.Date", "google/type/date.proto"], + ["google.type.TimeOfDay", "google/type/timeofday.proto"], ] imports.each do |type_name, expected_filename| import_file = pool.lookup(type_name).file_descriptor @@ -108,7 +111,19 @@ module V1 CreateCustomTargetTypeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.CreateCustomTargetTypeRequest").msgclass UpdateCustomTargetTypeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.UpdateCustomTargetTypeRequest").msgclass DeleteCustomTargetTypeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.DeleteCustomTargetTypeRequest").msgclass + DeployPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.DeployPolicy").msgclass + DeployPolicy::Invoker = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.DeployPolicy.Invoker").enummodule + DeployPolicyResourceSelector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.DeployPolicyResourceSelector").msgclass + DeliveryPipelineAttribute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.DeliveryPipelineAttribute").msgclass TargetAttribute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.TargetAttribute").msgclass + PolicyRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.PolicyRule").msgclass + RolloutRestriction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.RolloutRestriction").msgclass + RolloutRestriction::RolloutActions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.RolloutRestriction.RolloutActions").enummodule + TimeWindows = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.TimeWindows").msgclass + OneTimeWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.OneTimeWindow").msgclass + WeeklyWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.WeeklyWindow").msgclass + PolicyViolation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.PolicyViolation").msgclass + PolicyViolationDetails = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.PolicyViolationDetails").msgclass Release = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.Release").msgclass Release::TargetRender = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.Release.TargetRender").msgclass Release::TargetRender::TargetRenderState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.Release.TargetRender.TargetRenderState").enummodule @@ -117,6 +132,12 @@ module V1 Release::SkaffoldSupportedCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.Release.SkaffoldSupportedCondition").msgclass Release::ReleaseCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.Release.ReleaseCondition").msgclass Release::RenderState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.Release.RenderState").enummodule + CreateDeployPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.CreateDeployPolicyRequest").msgclass + UpdateDeployPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.UpdateDeployPolicyRequest").msgclass + DeleteDeployPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.DeleteDeployPolicyRequest").msgclass + ListDeployPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.ListDeployPoliciesRequest").msgclass + ListDeployPoliciesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.ListDeployPoliciesResponse").msgclass + GetDeployPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.GetDeployPolicyRequest").msgclass BuildArtifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.BuildArtifact").msgclass TargetArtifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.TargetArtifact").msgclass TargetArtifact::PhaseArtifact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.deploy.v1.TargetArtifact.PhaseArtifact").msgclass diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_services_pb.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_services_pb.rb index 79ac85905ba2..db6809eca89a 100644 --- a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_services_pb.rb +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/cloud_deploy_services_pb.rb @@ -74,6 +74,16 @@ class Service rpc :CreateRelease, ::Google::Cloud::Deploy::V1::CreateReleaseRequest, ::Google::Longrunning::Operation # Abandons a Release in the Delivery Pipeline. rpc :AbandonRelease, ::Google::Cloud::Deploy::V1::AbandonReleaseRequest, ::Google::Cloud::Deploy::V1::AbandonReleaseResponse + # Creates a new DeployPolicy in a given project and location. + rpc :CreateDeployPolicy, ::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest, ::Google::Longrunning::Operation + # Updates the parameters of a single DeployPolicy. + rpc :UpdateDeployPolicy, ::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest, ::Google::Longrunning::Operation + # Deletes a single DeployPolicy. + rpc :DeleteDeployPolicy, ::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest, ::Google::Longrunning::Operation + # Lists DeployPolicies in a given project and location. + rpc :ListDeployPolicies, ::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest, ::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse + # Gets details of a single DeployPolicy. + rpc :GetDeployPolicy, ::Google::Cloud::Deploy::V1::GetDeployPolicyRequest, ::Google::Cloud::Deploy::V1::DeployPolicy # Approves a Rollout. rpc :ApproveRollout, ::Google::Cloud::Deploy::V1::ApproveRolloutRequest, ::Google::Cloud::Deploy::V1::ApproveRolloutResponse # Advances a Rollout in a given project and location. diff --git a/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/deploypolicy_evaluation_payload_pb.rb b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/deploypolicy_evaluation_payload_pb.rb new file mode 100644 index 000000000000..0063964d1856 --- /dev/null +++ b/google-cloud-deploy-v1/lib/google/cloud/deploy/v1/deploypolicy_evaluation_payload_pb.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/deploy/v1/deploypolicy_evaluation_payload.proto + +require 'google/protobuf' + +require 'google/cloud/deploy/v1/cloud_deploy_pb' + + +descriptor_data = "\n] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`. class RollbackTargetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -1474,7 +1478,158 @@ class DeleteCustomTargetTypeRequest extend ::Google::Protobuf::MessageExts::ClassMethods end - # Contains criteria for selecting Targets. + # A `DeployPolicy` resource in the Cloud Deploy API. + # + # A `DeployPolicy` inhibits manual or automation-driven actions within a + # Delivery Pipeline or Target. + # @!attribute [r] name + # @return [::String] + # Output only. Name of the `DeployPolicy`. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + # The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` + # @!attribute [r] uid + # @return [::String] + # Output only. Unique identifier of the `DeployPolicy`. + # @!attribute [rw] description + # @return [::String] + # Description of the `DeployPolicy`. Max length is 255 characters. + # @!attribute [rw] annotations + # @return [::Google::Protobuf::Map{::String => ::String}] + # User annotations. These attributes can only be set and used by the + # user, and not by Cloud Deploy. Annotations must meet the following + # constraints: + # + # * Annotations are key/value pairs. + # * Valid annotation keys have two segments: an optional prefix and name, + # separated by a slash (`/`). + # * The name segment is required and must be 63 characters or less, + # beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with + # dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. + # * The prefix is optional. If specified, the prefix must be a DNS subdomain: + # a series of DNS labels separated by dots(`.`), not longer than 253 + # characters in total, followed by a slash (`/`). + # + # See + # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set + # for more details. + # @!attribute [rw] labels + # @return [::Google::Protobuf::Map{::String => ::String}] + # Labels are attributes that can be set and used by both the + # user and by Cloud Deploy. Labels must meet the following constraints: + # + # * Keys and values can contain only lowercase letters, numeric characters, + # underscores, and dashes. + # * All characters must use UTF-8 encoding, and international characters are + # allowed. + # * Keys must start with a lowercase letter or international character. + # * Each resource is limited to a maximum of 64 labels. + # + # Both keys and values are additionally constrained to be <= 128 bytes. + # @!attribute [r] create_time + # @return [::Google::Protobuf::Timestamp] + # Output only. Time at which the deploy policy was created. + # @!attribute [r] update_time + # @return [::Google::Protobuf::Timestamp] + # Output only. Most recent time at which the deploy policy was updated. + # @!attribute [rw] suspended + # @return [::Boolean] + # When suspended, the policy will not prevent actions from occurring, even + # if the action violates the policy. + # @!attribute [rw] selectors + # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicyResourceSelector>] + # Required. Selected resources to which the policy will be applied. At least + # one selector is required. If one selector matches the resource the policy + # applies. For example, if there are two selectors and the action being + # attempted matches one of them, the policy will apply to that action. + # @!attribute [rw] rules + # @return [::Array<::Google::Cloud::Deploy::V1::PolicyRule>] + # Required. Rules to apply. At least one rule must be present. + # @!attribute [rw] etag + # @return [::String] + # The weak etag of the `Automation` resource. + # This checksum is computed by the server based on the value of other + # fields, and may be sent on update and delete requests to ensure the + # client has an up-to-date value before proceeding. + class DeployPolicy + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class AnnotationsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class LabelsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # What invoked the action. Filters enforcing the policy depending on what + # invoked the action. + module Invoker + # Unspecified. + INVOKER_UNSPECIFIED = 0 + + # The action is user-driven. For example, creating a rollout manually via a + # gcloud create command. + USER = 1 + + # Automated action by Cloud Deploy. + DEPLOY_AUTOMATION = 2 + end + end + + # Contains information on the resources to select for a deploy policy. + # Attributes provided must all match the resource in order for policy + # restrictions to apply. For example, if delivery pipelines attributes given + # are an id "prod" and labels "foo: bar", a delivery pipeline resource must + # match both that id and have that label in order to be subject to the policy. + # @!attribute [rw] delivery_pipeline + # @return [::Google::Cloud::Deploy::V1::DeliveryPipelineAttribute] + # Optional. Contains attributes about a delivery pipeline. + # @!attribute [rw] target + # @return [::Google::Cloud::Deploy::V1::TargetAttribute] + # Optional. Contains attributes about a target. + class DeployPolicyResourceSelector + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Contains criteria for selecting DeliveryPipelines. + # @!attribute [rw] id + # @return [::String] + # ID of the `DeliveryPipeline`. The value of this field could be one of the + # following: + # + # * The last segment of a pipeline name + # * "*", all delivery pipelines in a location + # @!attribute [rw] labels + # @return [::Google::Protobuf::Map{::String => ::String}] + # DeliveryPipeline labels. + class DeliveryPipelineAttribute + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # @!attribute [rw] key + # @return [::String] + # @!attribute [rw] value + # @return [::String] + class LabelsEntry + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Contains criteria for selecting Targets. This could be used to select targets + # for a Deploy Policy or for an Automation. # @!attribute [rw] id # @return [::String] # ID of the `Target`. The value of this field could be one of the @@ -1499,6 +1654,153 @@ class LabelsEntry end end + # Deploy Policy rule. + # @!attribute [rw] rollout_restriction + # @return [::Google::Cloud::Deploy::V1::RolloutRestriction] + # Rollout restrictions. + class PolicyRule + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Rollout restrictions. + # @!attribute [rw] id + # @return [::String] + # Required. Restriction rule ID. Required and must be unique within a + # DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + # @!attribute [rw] invokers + # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy::Invoker>] + # Optional. What invoked the action. If left empty, all invoker types will be + # restricted. + # @!attribute [rw] actions + # @return [::Array<::Google::Cloud::Deploy::V1::RolloutRestriction::RolloutActions>] + # Optional. Rollout actions to be restricted as part of the policy. If left + # empty, all actions will be restricted. + # @!attribute [rw] time_windows + # @return [::Google::Cloud::Deploy::V1::TimeWindows] + # Required. Time window within which actions are restricted. + class RolloutRestriction + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Rollout actions to be restricted as part of the policy. + module RolloutActions + # Unspecified. + ROLLOUT_ACTIONS_UNSPECIFIED = 0 + + # Advance the rollout to the next phase. + ADVANCE = 1 + + # Approve the rollout. + APPROVE = 2 + + # Cancel the rollout. + CANCEL = 3 + + # Create a rollout. + CREATE = 4 + + # Ignore a job result on the rollout. + IGNORE_JOB = 5 + + # Retry a job for a rollout. + RETRY_JOB = 6 + + # Rollback a rollout. + ROLLBACK = 7 + + # Terminate a jobrun. + TERMINATE_JOBRUN = 8 + end + end + + # Time windows within which actions are restricted. See the + # [documentation](https://cloud.google.com/deploy/docs/deploy-policy#dates_times) + # for more information on how to configure dates/times. + # @!attribute [rw] time_zone + # @return [::String] + # Required. The time zone in IANA format [IANA Time Zone + # Database](https://www.iana.org/time-zones) (e.g. America/New_York). + # @!attribute [rw] one_time_windows + # @return [::Array<::Google::Cloud::Deploy::V1::OneTimeWindow>] + # Optional. One-time windows within which actions are restricted. + # @!attribute [rw] weekly_windows + # @return [::Array<::Google::Cloud::Deploy::V1::WeeklyWindow>] + # Optional. Recurring weekly windows within which actions are restricted. + class TimeWindows + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # One-time window within which actions are restricted. For example, blocking + # actions over New Year's Eve from December 31st at 5pm to January 1st at 9am. + # @!attribute [rw] start_date + # @return [::Google::Type::Date] + # Required. Start date. + # @!attribute [rw] start_time + # @return [::Google::Type::TimeOfDay] + # Required. Start time (inclusive). Use 00:00 for the beginning of the day. + # @!attribute [rw] end_date + # @return [::Google::Type::Date] + # Required. End date. + # @!attribute [rw] end_time + # @return [::Google::Type::TimeOfDay] + # Required. End time (exclusive). You may use 24:00 for the end of the day. + class OneTimeWindow + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Weekly windows. For example, blocking actions every Saturday and Sunday. + # Another example would be blocking actions every weekday from 5pm to midnight. + # @!attribute [rw] days_of_week + # @return [::Array<::Google::Type::DayOfWeek>] + # Optional. Days of week. If left empty, all days of the week will be + # included. + # @!attribute [rw] start_time + # @return [::Google::Type::TimeOfDay] + # Optional. Start time (inclusive). Use 00:00 for the beginning of the day. + # If you specify start_time you must also specify end_time. If left empty, + # this will block for the entire day for the days specified in days_of_week. + # @!attribute [rw] end_time + # @return [::Google::Type::TimeOfDay] + # Optional. End time (exclusive). Use 24:00 to indicate midnight. If you + # specify end_time you must also specify start_time. If left empty, this will + # block for the entire day for the days specified in days_of_week. + class WeeklyWindow + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Returned from an action if one or more policies were + # violated, and therefore the action was prevented. Contains information about + # what policies were violated and why. + # @!attribute [rw] policy_violation_details + # @return [::Array<::Google::Cloud::Deploy::V1::PolicyViolationDetails>] + # Policy violation details. + class PolicyViolation + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Policy violation details. + # @!attribute [rw] policy + # @return [::String] + # Name of the policy that was violated. + # Policy resource will be in the format of + # `projects/{project}/locations/{location}/policies/{policy}`. + # @!attribute [rw] rule_id + # @return [::String] + # Id of the rule that triggered the policy violation. + # @!attribute [rw] failure_message + # @return [::String] + # User readable message about why the request violated a policy. This is not + # intended for machine parsing. + class PolicyViolationDetails + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # A `Release` resource in the Cloud Deploy API. # # A `Release` defines a specific Skaffold configuration instance @@ -1782,6 +2084,174 @@ module RenderState end end + # The request object for `CreateDeployPolicy`. + # @!attribute [rw] parent + # @return [::String] + # Required. The parent collection in which the `DeployPolicy` must be + # created. The format is `projects/{project_id}/locations/{location_name}`. + # @!attribute [rw] deploy_policy_id + # @return [::String] + # Required. ID of the `DeployPolicy`. + # @!attribute [rw] deploy_policy + # @return [::Google::Cloud::Deploy::V1::DeployPolicy] + # Required. The `DeployPolicy` to create. + # @!attribute [rw] request_id + # @return [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @!attribute [rw] validate_only + # @return [::Boolean] + # Optional. If set to true, the request is validated and the user is provided + # with an expected result, but no actual change is made. + class CreateDeployPolicyRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The request object for `UpdateDeployPolicy`. + # @!attribute [rw] update_mask + # @return [::Google::Protobuf::FieldMask] + # Required. Field mask is used to specify the fields to be overwritten by the + # update in the `DeployPolicy` resource. The fields specified in the + # update_mask are relative to the resource, not the full request. A field + # will be overwritten if it's in the mask. If the user doesn't provide a mask + # then all fields are overwritten. + # @!attribute [rw] deploy_policy + # @return [::Google::Cloud::Deploy::V1::DeployPolicy] + # Required. The `DeployPolicy` to update. + # @!attribute [rw] request_id + # @return [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @!attribute [rw] allow_missing + # @return [::Boolean] + # Optional. If set to true, updating a `DeployPolicy` that does not exist + # will result in the creation of a new `DeployPolicy`. + # @!attribute [rw] validate_only + # @return [::Boolean] + # Optional. If set to true, the request is validated and the user is provided + # with an expected result, but no actual change is made. + class UpdateDeployPolicyRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The request object for `DeleteDeployPolicy`. + # @!attribute [rw] name + # @return [::String] + # Required. The name of the `DeployPolicy` to delete. The format is + # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`. + # @!attribute [rw] request_id + # @return [::String] + # Optional. A request ID to identify requests. Specify a unique request ID + # so that if you must retry your request, the server knows to ignore the + # request if it has already been completed. The server guarantees that for + # at least 60 minutes after the first request. + # + # For example, consider a situation where you make an initial request and the + # request times out. If you make the request again with the same request ID, + # the server can check if original operation with the same request ID was + # received, and if so, will ignore the second request. This prevents clients + # from accidentally creating duplicate commitments. + # + # The request ID must be a valid UUID with the exception that zero UUID is + # not supported (00000000-0000-0000-0000-000000000000). + # @!attribute [rw] allow_missing + # @return [::Boolean] + # Optional. If set to true, then deleting an already deleted or non-existing + # `DeployPolicy` will succeed. + # @!attribute [rw] validate_only + # @return [::Boolean] + # Optional. If set, validate the request and preview the review, but do not + # actually post it. + # @!attribute [rw] etag + # @return [::String] + # Optional. This checksum is computed by the server based on the value of + # other fields, and may be sent on update and delete requests to ensure the + # client has an up-to-date value before proceeding. + class DeleteDeployPolicyRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The request object for `ListDeployPolicies`. + # @!attribute [rw] parent + # @return [::String] + # Required. The parent, which owns this collection of deploy policies. Format + # must be `projects/{project_id}/locations/{location_name}`. + # @!attribute [rw] page_size + # @return [::Integer] + # The maximum number of deploy policies to return. The service may return + # fewer than this value. If unspecified, at most 50 deploy policies will + # be returned. The maximum value is 1000; values above 1000 will be set + # to 1000. + # @!attribute [rw] page_token + # @return [::String] + # A page token, received from a previous `ListDeployPolicies` call. + # Provide this to retrieve the subsequent page. + # + # When paginating, all other provided parameters match + # the call that provided the page token. + # @!attribute [rw] filter + # @return [::String] + # Filter deploy policies to be returned. See https://google.aip.dev/160 for + # more details. All fields can be used in the filter. + # @!attribute [rw] order_by + # @return [::String] + # Field to sort by. See https://google.aip.dev/132#ordering for more details. + class ListDeployPoliciesRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The response object from `ListDeployPolicies`. + # @!attribute [rw] deploy_policies + # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicy>] + # The `DeployPolicy` objects. + # @!attribute [rw] next_page_token + # @return [::String] + # A token, which can be sent as `page_token` to retrieve the next page. + # If this field is omitted, there are no subsequent pages. + # @!attribute [rw] unreachable + # @return [::Array<::String>] + # Locations that could not be reached. + class ListDeployPoliciesResponse + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The request object for `GetDeployPolicy` + # @!attribute [rw] name + # @return [::String] + # Required. Name of the `DeployPolicy`. Format must be + # `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`. + class GetDeployPolicyRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # Description of an a image to use during Skaffold rendering. # @!attribute [rw] image # @return [::String] @@ -1968,6 +2438,10 @@ class GetReleaseRequest # @return [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with an expected result, but no actual change is made. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class CreateReleaseRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2556,6 +3030,10 @@ class GetRolloutRequest # @return [::Boolean] # Optional. If set to true, the request is validated and the user is provided # with an expected result, but no actual change is made. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. # @!attribute [rw] starting_phase_id # @return [::String] # Optional. The starting phase ID for the `Rollout`. If empty the `Rollout` @@ -2604,6 +3082,10 @@ class OperationMetadata # @!attribute [rw] approved # @return [::Boolean] # Required. True = approve; false = reject + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class ApproveRolloutRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2623,6 +3105,10 @@ class ApproveRolloutResponse # @!attribute [rw] phase_id # @return [::String] # Required. The phase ID to advance the `Rollout` to. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class AdvanceRolloutRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2639,6 +3125,10 @@ class AdvanceRolloutResponse # @return [::String] # Required. Name of the Rollout. Format is # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}`. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class CancelRolloutRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2661,6 +3151,10 @@ class CancelRolloutResponse # @!attribute [rw] job_id # @return [::String] # Required. The job ID for the Job to ignore. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class IgnoreJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -2683,6 +3177,10 @@ class IgnoreJobResponse # @!attribute [rw] job_id # @return [::String] # Required. The job ID for the Job to retry. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class RetryJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -3062,6 +3560,10 @@ class GetJobRunRequest # @return [::String] # Required. Name of the `JobRun`. Format must be # `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}/rollouts/{rollout}/jobRuns/{jobRun}`. + # @!attribute [rw] override_deploy_policy + # @return [::Array<::String>] + # Optional. Deploy policies to override. Format is + # `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. class TerminateJobRunRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -3545,6 +4047,10 @@ class GetAutomationRequest # @return [::String] # Output only. Explains the current state of the `AutomationRun`. Present # only when an explanation is needed. + # @!attribute [r] policy_violation + # @return [::Google::Cloud::Deploy::V1::PolicyViolation] + # Output only. Contains information about what policies prevented the + # `AutomationRun` from proceeding. # @!attribute [r] expire_time # @return [::Google::Protobuf::Timestamp] # Output only. Time the `AutomationRun` expires. An `AutomationRun` expires diff --git a/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/deploypolicy_evaluation_payload.rb b/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/deploypolicy_evaluation_payload.rb new file mode 100644 index 000000000000..85e826765281 --- /dev/null +++ b/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/deploypolicy_evaluation_payload.rb @@ -0,0 +1,106 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Cloud + module Deploy + module V1 + # Payload proto for "clouddeploy.googleapis.com/deploypolicy_evaluation" + # Platform Log event that describes the deploy policy evaluation event. + # @!attribute [rw] message + # @return [::String] + # Debug message for when a deploy policy event occurs. + # @!attribute [rw] rule_type + # @return [::String] + # Rule type (e.g. Restrict Rollouts). + # @!attribute [rw] rule + # @return [::String] + # Rule id. + # @!attribute [rw] pipeline_uid + # @return [::String] + # Unique identifier of the `Delivery Pipeline`. + # @!attribute [rw] delivery_pipeline + # @return [::String] + # The name of the `Delivery Pipeline`. + # @!attribute [rw] target_uid + # @return [::String] + # Unique identifier of the `Target`. This is an optional field, as a `Target` + # may not always be applicable to a policy. + # @!attribute [rw] target + # @return [::String] + # The name of the `Target`. This is an optional field, as a `Target` may not + # always be applicable to a policy. + # @!attribute [rw] invoker + # @return [::Google::Cloud::Deploy::V1::DeployPolicy::Invoker] + # What invoked the action (e.g. a user or automation). + # @!attribute [rw] deploy_policy + # @return [::String] + # The name of the `DeployPolicy`. + # @!attribute [rw] deploy_policy_uid + # @return [::String] + # Unique identifier of the `DeployPolicy`. + # @!attribute [rw] allowed + # @return [::Boolean] + # Whether the request is allowed. Allowed is set as true if: + # (1) the request complies with the policy; or + # (2) the request doesn't comply with the policy but the policy was + # overridden; or + # (3) the request doesn't comply with the policy but the policy was suspended + # @!attribute [rw] verdict + # @return [::Google::Cloud::Deploy::V1::DeployPolicyEvaluationEvent::PolicyVerdict] + # The policy verdict of the request. + # @!attribute [rw] overrides + # @return [::Array<::Google::Cloud::Deploy::V1::DeployPolicyEvaluationEvent::PolicyVerdictOverride>] + # Things that could have overridden the policy verdict. Overrides together + # with verdict decide whether the request is allowed. + class DeployPolicyEvaluationEvent + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # The policy verdict of the request. + module PolicyVerdict + # This should never happen. + POLICY_VERDICT_UNSPECIFIED = 0 + + # Allowed by policy. This enum value is not currently used but may be used + # in the future. Currently logs are only generated when a request is denied + # by policy. + ALLOWED_BY_POLICY = 1 + + # Denied by policy. + DENIED_BY_POLICY = 2 + end + + # Things that could have overridden the policy verdict. When overrides are + # used, the request will be allowed even if it is DENIED_BY_POLICY. + module PolicyVerdictOverride + # This should never happen. + POLICY_VERDICT_OVERRIDE_UNSPECIFIED = 0 + + # The policy was overridden. + POLICY_OVERRIDDEN = 1 + + # The policy was suspended. + POLICY_SUSPENDED = 2 + end + end + end + end + end +end diff --git a/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/log_enums.rb b/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/log_enums.rb index e741d9a04895..00b156dbf489 100644 --- a/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/log_enums.rb +++ b/google-cloud-deploy-v1/proto_docs/google/cloud/deploy/v1/log_enums.rb @@ -44,6 +44,9 @@ module Type # Rollout updated. TYPE_ROLLOUT_UPDATE = 7 + # Deploy Policy evaluation. + TYPE_DEPLOY_POLICY_EVALUATION = 8 + # Deprecated: This field is never used. Use release_render log type instead. TYPE_RENDER_STATUES_CHANGE = 2 end diff --git a/google-cloud-deploy-v1/proto_docs/google/type/date.rb b/google-cloud-deploy-v1/proto_docs/google/type/date.rb index ad63b93044e0..d340bf377a8d 100644 --- a/google-cloud-deploy-v1/proto_docs/google/type/date.rb +++ b/google-cloud-deploy-v1/proto_docs/google/type/date.rb @@ -30,7 +30,7 @@ module Type # * A year and month value, with a zero day, such as a credit card expiration # date # - # Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and + # Related types are {::Google::Type::TimeOfDay google.type.TimeOfDay} and # `google.protobuf.Timestamp`. # @!attribute [rw] year # @return [::Integer] diff --git a/google-cloud-deploy-v1/proto_docs/google/type/dayofweek.rb b/google-cloud-deploy-v1/proto_docs/google/type/dayofweek.rb new file mode 100644 index 000000000000..4fd080d9b331 --- /dev/null +++ b/google-cloud-deploy-v1/proto_docs/google/type/dayofweek.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Type + # Represents a day of the week. + module DayOfWeek + # The day of the week is unspecified. + DAY_OF_WEEK_UNSPECIFIED = 0 + + # Monday + MONDAY = 1 + + # Tuesday + TUESDAY = 2 + + # Wednesday + WEDNESDAY = 3 + + # Thursday + THURSDAY = 4 + + # Friday + FRIDAY = 5 + + # Saturday + SATURDAY = 6 + + # Sunday + SUNDAY = 7 + end + end +end diff --git a/google-cloud-deploy-v1/proto_docs/google/type/timeofday.rb b/google-cloud-deploy-v1/proto_docs/google/type/timeofday.rb new file mode 100644 index 000000000000..38820c1fcba2 --- /dev/null +++ b/google-cloud-deploy-v1/proto_docs/google/type/timeofday.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Type + # Represents a time of day. The date and time zone are either not significant + # or are specified elsewhere. An API may choose to allow leap seconds. Related + # types are {::Google::Type::Date google.type.Date} and + # `google.protobuf.Timestamp`. + # @!attribute [rw] hours + # @return [::Integer] + # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose + # to allow the value "24:00:00" for scenarios like business closing time. + # @!attribute [rw] minutes + # @return [::Integer] + # Minutes of hour of day. Must be from 0 to 59. + # @!attribute [rw] seconds + # @return [::Integer] + # Seconds of minutes of the time. Must normally be from 0 to 59. An API may + # allow the value 60 if it allows leap-seconds. + # @!attribute [rw] nanos + # @return [::Integer] + # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + class TimeOfDay + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end +end diff --git a/google-cloud-deploy-v1/snippets/cloud_deploy/create_deploy_policy.rb b/google-cloud-deploy-v1/snippets/cloud_deploy/create_deploy_policy.rb new file mode 100644 index 000000000000..9d6510ae3f4f --- /dev/null +++ b/google-cloud-deploy-v1/snippets/cloud_deploy/create_deploy_policy.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START clouddeploy_v1_generated_CloudDeploy_CreateDeployPolicy_sync] +require "google/cloud/deploy/v1" + +## +# Snippet for the create_deploy_policy call in the CloudDeploy service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::Deploy::V1::CloudDeploy::Client#create_deploy_policy. +# +def create_deploy_policy + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new + + # Call the create_deploy_policy method. + result = client.create_deploy_policy request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END clouddeploy_v1_generated_CloudDeploy_CreateDeployPolicy_sync] diff --git a/google-cloud-deploy-v1/snippets/cloud_deploy/delete_deploy_policy.rb b/google-cloud-deploy-v1/snippets/cloud_deploy/delete_deploy_policy.rb new file mode 100644 index 000000000000..71ce5eee5a8a --- /dev/null +++ b/google-cloud-deploy-v1/snippets/cloud_deploy/delete_deploy_policy.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START clouddeploy_v1_generated_CloudDeploy_DeleteDeployPolicy_sync] +require "google/cloud/deploy/v1" + +## +# Snippet for the delete_deploy_policy call in the CloudDeploy service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::Deploy::V1::CloudDeploy::Client#delete_deploy_policy. +# +def delete_deploy_policy + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new + + # Call the delete_deploy_policy method. + result = client.delete_deploy_policy request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END clouddeploy_v1_generated_CloudDeploy_DeleteDeployPolicy_sync] diff --git a/google-cloud-deploy-v1/snippets/cloud_deploy/get_deploy_policy.rb b/google-cloud-deploy-v1/snippets/cloud_deploy/get_deploy_policy.rb new file mode 100644 index 000000000000..cf9375209786 --- /dev/null +++ b/google-cloud-deploy-v1/snippets/cloud_deploy/get_deploy_policy.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START clouddeploy_v1_generated_CloudDeploy_GetDeployPolicy_sync] +require "google/cloud/deploy/v1" + +## +# Snippet for the get_deploy_policy call in the CloudDeploy service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::Deploy::V1::CloudDeploy::Client#get_deploy_policy. +# +def get_deploy_policy + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new + + # Call the get_deploy_policy method. + result = client.get_deploy_policy request + + # The returned object is of type Google::Cloud::Deploy::V1::DeployPolicy. + p result +end +# [END clouddeploy_v1_generated_CloudDeploy_GetDeployPolicy_sync] diff --git a/google-cloud-deploy-v1/snippets/cloud_deploy/list_deploy_policies.rb b/google-cloud-deploy-v1/snippets/cloud_deploy/list_deploy_policies.rb new file mode 100644 index 000000000000..ef77f05104e5 --- /dev/null +++ b/google-cloud-deploy-v1/snippets/cloud_deploy/list_deploy_policies.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START clouddeploy_v1_generated_CloudDeploy_ListDeployPolicies_sync] +require "google/cloud/deploy/v1" + +## +# Snippet for the list_deploy_policies call in the CloudDeploy service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::Deploy::V1::CloudDeploy::Client#list_deploy_policies. +# +def list_deploy_policies + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new + + # Call the list_deploy_policies method. + result = client.list_deploy_policies request + + # The returned object is of type Gapic::PagedEnumerable. You can iterate + # over elements, and API calls will be issued to fetch pages as needed. + result.each do |item| + # Each element is of type ::Google::Cloud::Deploy::V1::DeployPolicy. + p item + end +end +# [END clouddeploy_v1_generated_CloudDeploy_ListDeployPolicies_sync] diff --git a/google-cloud-deploy-v1/snippets/cloud_deploy/update_deploy_policy.rb b/google-cloud-deploy-v1/snippets/cloud_deploy/update_deploy_policy.rb new file mode 100644 index 000000000000..d7a06ebb532d --- /dev/null +++ b/google-cloud-deploy-v1/snippets/cloud_deploy/update_deploy_policy.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2024 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 +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START clouddeploy_v1_generated_CloudDeploy_UpdateDeployPolicy_sync] +require "google/cloud/deploy/v1" + +## +# Snippet for the update_deploy_policy call in the CloudDeploy service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::Deploy::V1::CloudDeploy::Client#update_deploy_policy. +# +def update_deploy_policy + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::Deploy::V1::CloudDeploy::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new + + # Call the update_deploy_policy method. + result = client.update_deploy_policy request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END clouddeploy_v1_generated_CloudDeploy_UpdateDeployPolicy_sync] diff --git a/google-cloud-deploy-v1/snippets/snippet_metadata_google.cloud.deploy.v1.json b/google-cloud-deploy-v1/snippets/snippet_metadata_google.cloud.deploy.v1.json index c03b611b3ed8..d67fc1c88060 100644 --- a/google-cloud-deploy-v1/snippets/snippet_metadata_google.cloud.deploy.v1.json +++ b/google-cloud-deploy-v1/snippets/snippet_metadata_google.cloud.deploy.v1.json @@ -811,6 +811,206 @@ } ] }, + { + "region_tag": "clouddeploy_v1_generated_CloudDeploy_CreateDeployPolicy_sync", + "title": "Snippet for the create_deploy_policy call in the CloudDeploy service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Deploy::V1::CloudDeploy::Client#create_deploy_policy.", + "file": "cloud_deploy/create_deploy_policy.rb", + "language": "RUBY", + "client_method": { + "short_name": "create_deploy_policy", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client#create_deploy_policy", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "CloudDeploy::Client", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client" + }, + "method": { + "short_name": "CreateDeployPolicy", + "full_name": "google.cloud.deploy.v1.CloudDeploy.CreateDeployPolicy", + "service": { + "short_name": "CloudDeploy", + "full_name": "google.cloud.deploy.v1.CloudDeploy" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] + }, + { + "region_tag": "clouddeploy_v1_generated_CloudDeploy_UpdateDeployPolicy_sync", + "title": "Snippet for the update_deploy_policy call in the CloudDeploy service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Deploy::V1::CloudDeploy::Client#update_deploy_policy.", + "file": "cloud_deploy/update_deploy_policy.rb", + "language": "RUBY", + "client_method": { + "short_name": "update_deploy_policy", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client#update_deploy_policy", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "CloudDeploy::Client", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client" + }, + "method": { + "short_name": "UpdateDeployPolicy", + "full_name": "google.cloud.deploy.v1.CloudDeploy.UpdateDeployPolicy", + "service": { + "short_name": "CloudDeploy", + "full_name": "google.cloud.deploy.v1.CloudDeploy" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] + }, + { + "region_tag": "clouddeploy_v1_generated_CloudDeploy_DeleteDeployPolicy_sync", + "title": "Snippet for the delete_deploy_policy call in the CloudDeploy service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Deploy::V1::CloudDeploy::Client#delete_deploy_policy.", + "file": "cloud_deploy/delete_deploy_policy.rb", + "language": "RUBY", + "client_method": { + "short_name": "delete_deploy_policy", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client#delete_deploy_policy", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "CloudDeploy::Client", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client" + }, + "method": { + "short_name": "DeleteDeployPolicy", + "full_name": "google.cloud.deploy.v1.CloudDeploy.DeleteDeployPolicy", + "service": { + "short_name": "CloudDeploy", + "full_name": "google.cloud.deploy.v1.CloudDeploy" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] + }, + { + "region_tag": "clouddeploy_v1_generated_CloudDeploy_ListDeployPolicies_sync", + "title": "Snippet for the list_deploy_policies call in the CloudDeploy service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Deploy::V1::CloudDeploy::Client#list_deploy_policies.", + "file": "cloud_deploy/list_deploy_policies.rb", + "language": "RUBY", + "client_method": { + "short_name": "list_deploy_policies", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client#list_deploy_policies", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest", + "name": "request" + } + ], + "result_type": "::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse", + "client": { + "short_name": "CloudDeploy::Client", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client" + }, + "method": { + "short_name": "ListDeployPolicies", + "full_name": "google.cloud.deploy.v1.CloudDeploy.ListDeployPolicies", + "service": { + "short_name": "CloudDeploy", + "full_name": "google.cloud.deploy.v1.CloudDeploy" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 50, + "type": "FULL" + } + ] + }, + { + "region_tag": "clouddeploy_v1_generated_CloudDeploy_GetDeployPolicy_sync", + "title": "Snippet for the get_deploy_policy call in the CloudDeploy service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::Deploy::V1::CloudDeploy::Client#get_deploy_policy.", + "file": "cloud_deploy/get_deploy_policy.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_deploy_policy", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client#get_deploy_policy", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::Deploy::V1::GetDeployPolicyRequest", + "name": "request" + } + ], + "result_type": "::Google::Cloud::Deploy::V1::DeployPolicy", + "client": { + "short_name": "CloudDeploy::Client", + "full_name": "::Google::Cloud::Deploy::V1::CloudDeploy::Client" + }, + "method": { + "short_name": "GetDeployPolicy", + "full_name": "google.cloud.deploy.v1.CloudDeploy.GetDeployPolicy", + "service": { + "short_name": "CloudDeploy", + "full_name": "google.cloud.deploy.v1.CloudDeploy" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, { "region_tag": "clouddeploy_v1_generated_CloudDeploy_ApproveRollout_sync", "title": "Snippet for the approve_rollout call in the CloudDeploy service", diff --git a/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_paths_test.rb b/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_paths_test.rb index 919855d2b62f..b83dc76a77af 100644 --- a/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_paths_test.rb +++ b/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_paths_test.rb @@ -117,6 +117,18 @@ def test_delivery_pipeline_path end end + def test_deploy_policy_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.deploy_policy_path project: "value0", location: "value1", deploy_policy: "value2" + assert_equal "projects/value0/locations/value1/deployPolicies/value2", path + end + end + def test_job_path grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure ::Gapic::ServiceStub.stub :new, DummyStub.new do diff --git a/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_rest_test.rb b/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_rest_test.rb index a74b048725f4..d411e874b572 100644 --- a/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_rest_test.rb +++ b/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_rest_test.rb @@ -430,6 +430,7 @@ def test_rollback_target rollout_to_roll_back = "hello world" rollback_config = {} validate_only = true + override_deploy_policy = ["hello world"] rollback_target_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -445,27 +446,27 @@ def test_rollback_target end # Use hash object - client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only }) do |_result, response| + client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.rollback_target name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only do |_result, response| + client.rollback_target name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.rollback_target ::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only) do |_result, response| + client.rollback_target ::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only }, call_options) do |_result, response| + client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.rollback_target(::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only), call_options) do |_result, response| + client.rollback_target(::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1114,6 +1115,7 @@ def test_create_release release = {} request_id = "hello world" validate_only = true + override_deploy_policy = ["hello world"] create_release_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1129,27 +1131,27 @@ def test_create_release end # Use hash object - client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only }) do |_result, response| + client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.create_release parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only do |_result, response| + client.create_release parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.create_release ::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only) do |_result, response| + client.create_release ::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only }, call_options) do |_result, response| + client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.create_release(::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only), call_options) do |_result, response| + client.create_release(::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1213,6 +1215,292 @@ def test_abandon_release end end + def test_create_deploy_policy + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + deploy_policy_id = "hello world" + deploy_policy = {} + request_id = "hello world" + validate_only = true + + create_deploy_policy_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::ServiceStub.stub :transcode_create_deploy_policy_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, create_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.create_deploy_policy({ parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.create_deploy_policy parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.create_deploy_policy ::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new(parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.create_deploy_policy({ parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.create_deploy_policy(::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new(parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, create_deploy_policy_client_stub.call_count + end + end + end + + def test_update_deploy_policy + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + update_mask = {} + deploy_policy = {} + request_id = "hello world" + allow_missing = true + validate_only = true + + update_deploy_policy_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::ServiceStub.stub :transcode_update_deploy_policy_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, update_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.update_deploy_policy({ update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.update_deploy_policy update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.update_deploy_policy ::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new(update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.update_deploy_policy({ update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.update_deploy_policy(::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new(update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, update_deploy_policy_client_stub.call_count + end + end + end + + def test_delete_deploy_policy + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + name = "hello world" + request_id = "hello world" + allow_missing = true + validate_only = true + etag = "hello world" + + delete_deploy_policy_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::ServiceStub.stub :transcode_delete_deploy_policy_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, delete_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.delete_deploy_policy({ name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.delete_deploy_policy name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.delete_deploy_policy ::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new(name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.delete_deploy_policy({ name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.delete_deploy_policy(::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new(name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, delete_deploy_policy_client_stub.call_count + end + end + end + + def test_list_deploy_policies + # Create test objects. + client_result = ::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + page_size = 42 + page_token = "hello world" + filter = "hello world" + order_by = "hello world" + + list_deploy_policies_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::ServiceStub.stub :transcode_list_deploy_policies_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, list_deploy_policies_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.list_deploy_policies({ parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.list_deploy_policies parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.list_deploy_policies ::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new(parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.list_deploy_policies({ parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.list_deploy_policies(::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new(parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, list_deploy_policies_client_stub.call_count + end + end + end + + def test_get_deploy_policy + # Create test objects. + client_result = ::Google::Cloud::Deploy::V1::DeployPolicy.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_deploy_policy_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::ServiceStub.stub :transcode_get_deploy_policy_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, get_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.get_deploy_policy({ name: name }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.get_deploy_policy name: name do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.get_deploy_policy ::Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new(name: name) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.get_deploy_policy({ name: name }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.get_deploy_policy(::Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new(name: name), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, get_deploy_policy_client_stub.call_count + end + end + end + def test_approve_rollout # Create test objects. client_result = ::Google::Cloud::Deploy::V1::ApproveRolloutResponse.new @@ -1223,6 +1511,7 @@ def test_approve_rollout # Create request parameters for a unary method. name = "hello world" approved = true + override_deploy_policy = ["hello world"] approve_rollout_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1238,27 +1527,27 @@ def test_approve_rollout end # Use hash object - client.approve_rollout({ name: name, approved: approved }) do |_result, response| + client.approve_rollout({ name: name, approved: approved, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.approve_rollout name: name, approved: approved do |_result, response| + client.approve_rollout name: name, approved: approved, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.approve_rollout ::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved) do |_result, response| + client.approve_rollout ::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.approve_rollout({ name: name, approved: approved }, call_options) do |_result, response| + client.approve_rollout({ name: name, approved: approved, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.approve_rollout(::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved), call_options) do |_result, response| + client.approve_rollout(::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1278,6 +1567,7 @@ def test_advance_rollout # Create request parameters for a unary method. name = "hello world" phase_id = "hello world" + override_deploy_policy = ["hello world"] advance_rollout_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1293,27 +1583,27 @@ def test_advance_rollout end # Use hash object - client.advance_rollout({ name: name, phase_id: phase_id }) do |_result, response| + client.advance_rollout({ name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.advance_rollout name: name, phase_id: phase_id do |_result, response| + client.advance_rollout name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.advance_rollout ::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id) do |_result, response| + client.advance_rollout ::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.advance_rollout({ name: name, phase_id: phase_id }, call_options) do |_result, response| + client.advance_rollout({ name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.advance_rollout(::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id), call_options) do |_result, response| + client.advance_rollout(::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1332,6 +1622,7 @@ def test_cancel_rollout # Create request parameters for a unary method. name = "hello world" + override_deploy_policy = ["hello world"] cancel_rollout_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1347,27 +1638,27 @@ def test_cancel_rollout end # Use hash object - client.cancel_rollout({ name: name }) do |_result, response| + client.cancel_rollout({ name: name, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.cancel_rollout name: name do |_result, response| + client.cancel_rollout name: name, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.cancel_rollout ::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name) do |_result, response| + client.cancel_rollout ::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.cancel_rollout({ name: name }, call_options) do |_result, response| + client.cancel_rollout({ name: name, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.cancel_rollout(::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name), call_options) do |_result, response| + client.cancel_rollout(::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1502,6 +1793,7 @@ def test_create_rollout rollout = {} request_id = "hello world" validate_only = true + override_deploy_policy = ["hello world"] starting_phase_id = "hello world" create_rollout_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| @@ -1518,27 +1810,27 @@ def test_create_rollout end # Use hash object - client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id }) do |_result, response| + client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.create_rollout parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id do |_result, response| + client.create_rollout parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.create_rollout ::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id) do |_result, response| + client.create_rollout ::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id }, call_options) do |_result, response| + client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.create_rollout(::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id), call_options) do |_result, response| + client.create_rollout(::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1559,6 +1851,7 @@ def test_ignore_job rollout = "hello world" phase_id = "hello world" job_id = "hello world" + override_deploy_policy = ["hello world"] ignore_job_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1574,27 +1867,27 @@ def test_ignore_job end # Use hash object - client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }) do |_result, response| + client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.ignore_job rollout: rollout, phase_id: phase_id, job_id: job_id do |_result, response| + client.ignore_job rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.ignore_job ::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id) do |_result, response| + client.ignore_job ::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }, call_options) do |_result, response| + client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.ignore_job(::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id), call_options) do |_result, response| + client.ignore_job(::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1615,6 +1908,7 @@ def test_retry_job rollout = "hello world" phase_id = "hello world" job_id = "hello world" + override_deploy_policy = ["hello world"] retry_job_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1630,27 +1924,27 @@ def test_retry_job end # Use hash object - client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }) do |_result, response| + client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.retry_job rollout: rollout, phase_id: phase_id, job_id: job_id do |_result, response| + client.retry_job rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.retry_job ::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id) do |_result, response| + client.retry_job ::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }, call_options) do |_result, response| + client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.retry_job(::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id), call_options) do |_result, response| + client.retry_job(::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end @@ -1781,6 +2075,7 @@ def test_terminate_job_run # Create request parameters for a unary method. name = "hello world" + override_deploy_policy = ["hello world"] terminate_job_run_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:| assert options.metadata.key? :"x-goog-api-client" @@ -1796,27 +2091,27 @@ def test_terminate_job_run end # Use hash object - client.terminate_job_run({ name: name }) do |_result, response| + client.terminate_job_run({ name: name, override_deploy_policy: override_deploy_policy }) do |_result, response| assert_equal http_response, response.underlying_op end # Use named arguments - client.terminate_job_run name: name do |_result, response| + client.terminate_job_run name: name, override_deploy_policy: override_deploy_policy do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object - client.terminate_job_run ::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name) do |_result, response| + client.terminate_job_run ::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name, override_deploy_policy: override_deploy_policy) do |_result, response| assert_equal http_response, response.underlying_op end # Use hash object with options - client.terminate_job_run({ name: name }, call_options) do |_result, response| + client.terminate_job_run({ name: name, override_deploy_policy: override_deploy_policy }, call_options) do |_result, response| assert_equal http_response, response.underlying_op end # Use protobuf object with options - client.terminate_job_run(::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name), call_options) do |_result, response| + client.terminate_job_run(::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name, override_deploy_policy: override_deploy_policy), call_options) do |_result, response| assert_equal http_response, response.underlying_op end diff --git a/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_test.rb b/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_test.rb index 056086e11220..c4bdb643362f 100644 --- a/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_test.rb +++ b/google-cloud-deploy-v1/test/google/cloud/deploy/v1/cloud_deploy_test.rb @@ -485,6 +485,7 @@ def test_rollback_target rollout_to_roll_back = "hello world" rollback_config = {} validate_only = true + override_deploy_policy = ["hello world"] rollback_target_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :rollback_target, name @@ -496,6 +497,7 @@ def test_rollback_target assert_equal "hello world", request["rollout_to_roll_back"] assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::Deploy::V1::RollbackTargetConfig), request["rollback_config"] assert_equal true, request["validate_only"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -506,31 +508,31 @@ def test_rollback_target end # Use hash object - client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only }) do |response, operation| + client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.rollback_target name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only do |response, operation| + client.rollback_target name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.rollback_target ::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only) do |response, operation| + client.rollback_target ::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only }, grpc_options) do |response, operation| + client.rollback_target({ name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.rollback_target(::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only), grpc_options) do |response, operation| + client.rollback_target(::Google::Cloud::Deploy::V1::RollbackTargetRequest.new(name: name, target_id: target_id, rollout_id: rollout_id, release_id: release_id, rollout_to_roll_back: rollout_to_roll_back, rollback_config: rollback_config, validate_only: validate_only, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end @@ -1295,6 +1297,7 @@ def test_create_release release = {} request_id = "hello world" validate_only = true + override_deploy_policy = ["hello world"] create_release_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :create_release, name @@ -1304,6 +1307,7 @@ def test_create_release assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::Deploy::V1::Release), request["release"] assert_equal "hello world", request["request_id"] assert_equal true, request["validate_only"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -1314,35 +1318,35 @@ def test_create_release end # Use hash object - client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only }) do |response, operation| + client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use named arguments - client.create_release parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only do |response, operation| + client.create_release parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use protobuf object - client.create_release ::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only) do |response, operation| + client.create_release ::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use hash object with options - client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only }, grpc_options) do |response, operation| + client.create_release({ parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use protobuf object with options - client.create_release(::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only), grpc_options) do |response, operation| + client.create_release(::Google::Cloud::Deploy::V1::CreateReleaseRequest.new(parent: parent, release_id: release_id, release: release, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation @@ -1411,6 +1415,348 @@ def test_abandon_release end end + def test_create_deploy_policy + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + deploy_policy_id = "hello world" + deploy_policy = {} + request_id = "hello world" + validate_only = true + + create_deploy_policy_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :create_deploy_policy, name + assert_kind_of ::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest, request + assert_equal "hello world", request["parent"] + assert_equal "hello world", request["deploy_policy_id"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::Deploy::V1::DeployPolicy), request["deploy_policy"] + assert_equal "hello world", request["request_id"] + assert_equal true, request["validate_only"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, create_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.create_deploy_policy({ parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + client.create_deploy_policy parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.create_deploy_policy ::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new(parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.create_deploy_policy({ parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.create_deploy_policy(::Google::Cloud::Deploy::V1::CreateDeployPolicyRequest.new(parent: parent, deploy_policy_id: deploy_policy_id, deploy_policy: deploy_policy, request_id: request_id, validate_only: validate_only), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, create_deploy_policy_client_stub.call_rpc_count + end + end + + def test_update_deploy_policy + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + update_mask = {} + deploy_policy = {} + request_id = "hello world" + allow_missing = true + validate_only = true + + update_deploy_policy_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :update_deploy_policy, name + assert_kind_of ::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest, request + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::Deploy::V1::DeployPolicy), request["deploy_policy"] + assert_equal "hello world", request["request_id"] + assert_equal true, request["allow_missing"] + assert_equal true, request["validate_only"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, update_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.update_deploy_policy({ update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + client.update_deploy_policy update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.update_deploy_policy ::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new(update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.update_deploy_policy({ update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.update_deploy_policy(::Google::Cloud::Deploy::V1::UpdateDeployPolicyRequest.new(update_mask: update_mask, deploy_policy: deploy_policy, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, update_deploy_policy_client_stub.call_rpc_count + end + end + + def test_delete_deploy_policy + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + request_id = "hello world" + allow_missing = true + validate_only = true + etag = "hello world" + + delete_deploy_policy_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :delete_deploy_policy, name + assert_kind_of ::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest, request + assert_equal "hello world", request["name"] + assert_equal "hello world", request["request_id"] + assert_equal true, request["allow_missing"] + assert_equal true, request["validate_only"] + assert_equal "hello world", request["etag"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, delete_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.delete_deploy_policy({ name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + client.delete_deploy_policy name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.delete_deploy_policy ::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new(name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.delete_deploy_policy({ name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.delete_deploy_policy(::Google::Cloud::Deploy::V1::DeleteDeployPolicyRequest.new(name: name, request_id: request_id, allow_missing: allow_missing, validate_only: validate_only, etag: etag), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, delete_deploy_policy_client_stub.call_rpc_count + end + end + + def test_list_deploy_policies + # Create GRPC objects. + grpc_response = ::Google::Cloud::Deploy::V1::ListDeployPoliciesResponse.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + parent = "hello world" + page_size = 42 + page_token = "hello world" + filter = "hello world" + order_by = "hello world" + + list_deploy_policies_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :list_deploy_policies, name + assert_kind_of ::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest, request + assert_equal "hello world", request["parent"] + assert_equal 42, request["page_size"] + assert_equal "hello world", request["page_token"] + assert_equal "hello world", request["filter"] + assert_equal "hello world", request["order_by"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, list_deploy_policies_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.list_deploy_policies({ parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by }) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.list_deploy_policies parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.list_deploy_policies ::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new(parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.list_deploy_policies({ parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by }, grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.list_deploy_policies(::Google::Cloud::Deploy::V1::ListDeployPoliciesRequest.new(parent: parent, page_size: page_size, page_token: page_token, filter: filter, order_by: order_by), grpc_options) do |response, operation| + assert_kind_of Gapic::PagedEnumerable, response + assert_equal grpc_response, response.response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, list_deploy_policies_client_stub.call_rpc_count + end + end + + def test_get_deploy_policy + # Create GRPC objects. + grpc_response = ::Google::Cloud::Deploy::V1::DeployPolicy.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_deploy_policy_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :get_deploy_policy, name + assert_kind_of ::Google::Cloud::Deploy::V1::GetDeployPolicyRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, get_deploy_policy_client_stub do + # Create client + client = ::Google::Cloud::Deploy::V1::CloudDeploy::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.get_deploy_policy({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.get_deploy_policy name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.get_deploy_policy ::Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.get_deploy_policy({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.get_deploy_policy(::Google::Cloud::Deploy::V1::GetDeployPolicyRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, get_deploy_policy_client_stub.call_rpc_count + end + end + def test_approve_rollout # Create GRPC objects. grpc_response = ::Google::Cloud::Deploy::V1::ApproveRolloutResponse.new @@ -1421,12 +1767,14 @@ def test_approve_rollout # Create request parameters for a unary method. name = "hello world" approved = true + override_deploy_policy = ["hello world"] approve_rollout_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :approve_rollout, name assert_kind_of ::Google::Cloud::Deploy::V1::ApproveRolloutRequest, request assert_equal "hello world", request["name"] assert_equal true, request["approved"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -1437,31 +1785,31 @@ def test_approve_rollout end # Use hash object - client.approve_rollout({ name: name, approved: approved }) do |response, operation| + client.approve_rollout({ name: name, approved: approved, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.approve_rollout name: name, approved: approved do |response, operation| + client.approve_rollout name: name, approved: approved, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.approve_rollout ::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved) do |response, operation| + client.approve_rollout ::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.approve_rollout({ name: name, approved: approved }, grpc_options) do |response, operation| + client.approve_rollout({ name: name, approved: approved, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.approve_rollout(::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved), grpc_options) do |response, operation| + client.approve_rollout(::Google::Cloud::Deploy::V1::ApproveRolloutRequest.new(name: name, approved: approved, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end @@ -1481,12 +1829,14 @@ def test_advance_rollout # Create request parameters for a unary method. name = "hello world" phase_id = "hello world" + override_deploy_policy = ["hello world"] advance_rollout_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :advance_rollout, name assert_kind_of ::Google::Cloud::Deploy::V1::AdvanceRolloutRequest, request assert_equal "hello world", request["name"] assert_equal "hello world", request["phase_id"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -1497,31 +1847,31 @@ def test_advance_rollout end # Use hash object - client.advance_rollout({ name: name, phase_id: phase_id }) do |response, operation| + client.advance_rollout({ name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.advance_rollout name: name, phase_id: phase_id do |response, operation| + client.advance_rollout name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.advance_rollout ::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id) do |response, operation| + client.advance_rollout ::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.advance_rollout({ name: name, phase_id: phase_id }, grpc_options) do |response, operation| + client.advance_rollout({ name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.advance_rollout(::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id), grpc_options) do |response, operation| + client.advance_rollout(::Google::Cloud::Deploy::V1::AdvanceRolloutRequest.new(name: name, phase_id: phase_id, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end @@ -1540,11 +1890,13 @@ def test_cancel_rollout # Create request parameters for a unary method. name = "hello world" + override_deploy_policy = ["hello world"] cancel_rollout_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :cancel_rollout, name assert_kind_of ::Google::Cloud::Deploy::V1::CancelRolloutRequest, request assert_equal "hello world", request["name"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -1555,31 +1907,31 @@ def test_cancel_rollout end # Use hash object - client.cancel_rollout({ name: name }) do |response, operation| + client.cancel_rollout({ name: name, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.cancel_rollout name: name do |response, operation| + client.cancel_rollout name: name, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.cancel_rollout ::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name) do |response, operation| + client.cancel_rollout ::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.cancel_rollout({ name: name }, grpc_options) do |response, operation| + client.cancel_rollout({ name: name, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.cancel_rollout(::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name), grpc_options) do |response, operation| + client.cancel_rollout(::Google::Cloud::Deploy::V1::CancelRolloutRequest.new(name: name, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end @@ -1731,6 +2083,7 @@ def test_create_rollout rollout = {} request_id = "hello world" validate_only = true + override_deploy_policy = ["hello world"] starting_phase_id = "hello world" create_rollout_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| @@ -1741,6 +2094,7 @@ def test_create_rollout assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::Deploy::V1::Rollout), request["rollout"] assert_equal "hello world", request["request_id"] assert_equal true, request["validate_only"] + assert_equal ["hello world"], request["override_deploy_policy"] assert_equal "hello world", request["starting_phase_id"] refute_nil options end @@ -1752,35 +2106,35 @@ def test_create_rollout end # Use hash object - client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id }) do |response, operation| + client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id }) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use named arguments - client.create_rollout parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id do |response, operation| + client.create_rollout parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use protobuf object - client.create_rollout ::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id) do |response, operation| + client.create_rollout ::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use hash object with options - client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id }, grpc_options) do |response, operation| + client.create_rollout({ parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id }, grpc_options) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation end # Use protobuf object with options - client.create_rollout(::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, starting_phase_id: starting_phase_id), grpc_options) do |response, operation| + client.create_rollout(::Google::Cloud::Deploy::V1::CreateRolloutRequest.new(parent: parent, rollout_id: rollout_id, rollout: rollout, request_id: request_id, validate_only: validate_only, override_deploy_policy: override_deploy_policy, starting_phase_id: starting_phase_id), grpc_options) do |response, operation| assert_kind_of Gapic::Operation, response assert_equal grpc_response, response.grpc_op assert_equal grpc_operation, operation @@ -1802,6 +2156,7 @@ def test_ignore_job rollout = "hello world" phase_id = "hello world" job_id = "hello world" + override_deploy_policy = ["hello world"] ignore_job_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :ignore_job, name @@ -1809,6 +2164,7 @@ def test_ignore_job assert_equal "hello world", request["rollout"] assert_equal "hello world", request["phase_id"] assert_equal "hello world", request["job_id"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -1819,31 +2175,31 @@ def test_ignore_job end # Use hash object - client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }) do |response, operation| + client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.ignore_job rollout: rollout, phase_id: phase_id, job_id: job_id do |response, operation| + client.ignore_job rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.ignore_job ::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id) do |response, operation| + client.ignore_job ::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }, grpc_options) do |response, operation| + client.ignore_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.ignore_job(::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id), grpc_options) do |response, operation| + client.ignore_job(::Google::Cloud::Deploy::V1::IgnoreJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end @@ -1864,6 +2220,7 @@ def test_retry_job rollout = "hello world" phase_id = "hello world" job_id = "hello world" + override_deploy_policy = ["hello world"] retry_job_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :retry_job, name @@ -1871,6 +2228,7 @@ def test_retry_job assert_equal "hello world", request["rollout"] assert_equal "hello world", request["phase_id"] assert_equal "hello world", request["job_id"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -1881,31 +2239,31 @@ def test_retry_job end # Use hash object - client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }) do |response, operation| + client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.retry_job rollout: rollout, phase_id: phase_id, job_id: job_id do |response, operation| + client.retry_job rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.retry_job ::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id) do |response, operation| + client.retry_job ::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id }, grpc_options) do |response, operation| + client.retry_job({ rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.retry_job(::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id), grpc_options) do |response, operation| + client.retry_job(::Google::Cloud::Deploy::V1::RetryJobRequest.new(rollout: rollout, phase_id: phase_id, job_id: job_id, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end @@ -2053,11 +2411,13 @@ def test_terminate_job_run # Create request parameters for a unary method. name = "hello world" + override_deploy_policy = ["hello world"] terminate_job_run_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| assert_equal :terminate_job_run, name assert_kind_of ::Google::Cloud::Deploy::V1::TerminateJobRunRequest, request assert_equal "hello world", request["name"] + assert_equal ["hello world"], request["override_deploy_policy"] refute_nil options end @@ -2068,31 +2428,31 @@ def test_terminate_job_run end # Use hash object - client.terminate_job_run({ name: name }) do |response, operation| + client.terminate_job_run({ name: name, override_deploy_policy: override_deploy_policy }) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use named arguments - client.terminate_job_run name: name do |response, operation| + client.terminate_job_run name: name, override_deploy_policy: override_deploy_policy do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object - client.terminate_job_run ::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name) do |response, operation| + client.terminate_job_run ::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name, override_deploy_policy: override_deploy_policy) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use hash object with options - client.terminate_job_run({ name: name }, grpc_options) do |response, operation| + client.terminate_job_run({ name: name, override_deploy_policy: override_deploy_policy }, grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end # Use protobuf object with options - client.terminate_job_run(::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name), grpc_options) do |response, operation| + client.terminate_job_run(::Google::Cloud::Deploy::V1::TerminateJobRunRequest.new(name: name, override_deploy_policy: override_deploy_policy), grpc_options) do |response, operation| assert_equal grpc_response, response assert_equal grpc_operation, operation end