# frozen_string_literal: true # Copyright 2021 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 # A `DeliveryPipeline` resource in the Google Cloud Deploy API. # # A `DeliveryPipeline` defines a pipeline through which a Skaffold # configuration can progress. # @!attribute [rw] name # @return [::String] # Optional. Name of the `DeliveryPipeline`. Format is projects/\\{project}/ # locations/\\{location}/deliveryPipelines/[a-z][a-z0-9\-]\\{0,62}. # @!attribute [r] uid # @return [::String] # Output only. Unique identifier of the `DeliveryPipeline`. # @!attribute [rw] description # @return [::String] # Description of the `DeliveryPipeline`. 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 Google Cloud Deploy. See # https://google.aip.dev/128#annotations for more details such as format and # size limitations. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Labels are attributes that can be set and used by both the # user and by Google Cloud Deploy. Labels must meet the following # constraints: Each resource is limited to 64 labels. Keys must conform to # the regexp: `[a-zA-Z][a-zA-Z0-9_-]{0,62}`. Values must conform to the # regexp: `[a-zA-Z0-9_-]{0,63}`. Both keys and values are additionally # constrained to be <= 128 bytes in size. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the pipeline was created. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Most recent time at which the pipeline was updated. # @!attribute [rw] serial_pipeline # @return [::Google::Cloud::Deploy::V1::SerialPipeline] # SerialPipeline defines a sequential set of stages for a # `DeliveryPipeline`. # @!attribute [r] condition # @return [::Google::Cloud::Deploy::V1::PipelineCondition] # Output only. Information around the state of the Delivery Pipeline. # @!attribute [rw] etag # @return [::String] # 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 DeliveryPipeline 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 end # SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`. # @!attribute [rw] stages # @return [::Array<::Google::Cloud::Deploy::V1::Stage>] # Each stage specifies configuration for a `Target`. The ordering # of this list defines the promotion flow. class SerialPipeline include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Stage specifies a location to which to deploy. # @!attribute [rw] target_id # @return [::String] # The target_id to which this stage points. This field refers exclusively to # the last segment of a target name. For example, this field would just be # `my-target` (rather than # `projects/project/deliveryPipelines/pipeline/targets/my-target`). The # parent `DeliveryPipeline` of the `Target` is inferred to be the parent # `DeliveryPipeline` of the `Release` in which this `Stage` lives. # @!attribute [rw] profiles # @return [::Array<::String>] # Skaffold profiles to use when rendering the manifest for this stage's # `Target`. class Stage include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # PipelineReadyCondition contains information around the status of the # Pipeline. # @!attribute [rw] status # @return [::Boolean] # True if the Pipeline is in a valid state. Otherwise at least one condition # in `PipelineCondition` is in an invalid state. Iterate over those # conditions and see which condition(s) has status = false to find out what # is wrong with the Pipeline. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # Last time the condition was updated. class PipelineReadyCondition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # TargetsPresentCondition contains information on any Targets defined in # the Delivery Pipeline that do not actually exist. # @!attribute [rw] status # @return [::Boolean] # True if there aren't any missing Targets. # @!attribute [rw] missing_targets # @return [::Array<::String>] # The list of Target names that are missing. For example, # projects/\\{project_id}/locations/\\{location_name}/targets/\\{target_name}. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # Last time the condition was updated. class TargetsPresentCondition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # PipelineCondition contains all conditions relevant to a Delivery Pipeline. # @!attribute [rw] pipeline_ready_condition # @return [::Google::Cloud::Deploy::V1::PipelineReadyCondition] # Details around the Pipeline's overall status. # @!attribute [rw] targets_present_condition # @return [::Google::Cloud::Deploy::V1::TargetsPresentCondition] # Detalis around targets enumerated in the pipeline. class PipelineCondition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `ListDeliveryPipelines`. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of pipelines. Format must be # projects/\\{project_id}/locations/\\{location_name}. # @!attribute [rw] page_size # @return [::Integer] # The maximum number of pipelines to return. The service may return # fewer than this value. If unspecified, at most 50 pipelines 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 `ListDeliveryPipelines` 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 builds to be returned. See https://google.aip.dev/160 for more # details. # @!attribute [rw] order_by # @return [::String] # Field to sort by. See https://google.aip.dev/132#ordering for more details. class ListDeliveryPipelinesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response object from `ListDeliveryPipelines`. # @!attribute [rw] delivery_pipelines # @return [::Array<::Google::Cloud::Deploy::V1::DeliveryPipeline>] # The `DeliveryPipeline` 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 ListDeliveryPipelinesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `GetDeliveryPipeline` # @!attribute [rw] name # @return [::String] # Required. Name of the `DeliveryPipeline`. Format must be # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}. class GetDeliveryPipelineRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `CreateDeliveryPipeline`. # @!attribute [rw] parent # @return [::String] # Required. The parent collection in which the `DeliveryPipeline` should be created. # Format should be projects/\\{project_id}/locations/\\{location_name}. # @!attribute [rw] delivery_pipeline_id # @return [::String] # Required. ID of the `DeliveryPipeline`. # @!attribute [rw] delivery_pipeline # @return [::Google::Cloud::Deploy::V1::DeliveryPipeline] # Required. The `DeliveryPipeline` 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 will know to ignore # the request if it has already been completed. The server will guarantee # that for at least 60 minutes since 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 CreateDeliveryPipelineRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `UpdateDeliveryPipeline`. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Required. Field mask is used to specify the fields to be overwritten in the # `DeliveryPipeline` resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] delivery_pipeline # @return [::Google::Cloud::Deploy::V1::DeliveryPipeline] # Required. The `DeliveryPipeline` 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 will know to ignore # the request if it has already been completed. The server will guarantee # that for at least 60 minutes since 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 `DeliveryPipeline` that does not exist will # result in the creation of a new `DeliveryPipeline`. # @!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 UpdateDeliveryPipelineRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `DeleteDeliveryPipeline`. # @!attribute [rw] name # @return [::String] # Required. The name of the `DeliveryPipeline` to delete. Format should be # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_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 will know to ignore # the request if it has already been completed. The server will guarantee # 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 # `DeliveryPipeline` 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] force # @return [::Boolean] # Optional. If set to true, all child resources under this pipeline will also be # deleted. Otherwise, the request will only work if the pipeline has # no child resources. # @!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 DeleteDeliveryPipelineRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A `Target` resource in the Google Cloud Deploy API. # # A `Target` defines a location to which a Skaffold configuration # can be deployed. # @!attribute [rw] name # @return [::String] # Optional. Name of the `Target`. Format is projects/\\{project}/locations/\\{location}/ # deliveryPipelines/\\{deliveryPipeline}/targets/[a-z][a-z0-9\-]\\{0,62}. # @!attribute [r] target_id # @return [::String] # Output only. Resource id of the `Target`. # @!attribute [r] uid # @return [::String] # Output only. Unique identifier of the `Target`. # @!attribute [rw] description # @return [::String] # Optional. Description of the `Target`. Max length is 255 characters. # @!attribute [rw] annotations # @return [::Google::Protobuf::Map{::String => ::String}] # Optional. User annotations. These attributes can only be set and used by the # user, and not by Google Cloud Deploy. See # https://google.aip.dev/128#annotations for more details such as format and # size limitations. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Optional. Labels are attributes that can be set and used by both the # user and by Google Cloud Deploy. Labels must meet the following # constraints: Each resource is limited to 64 labels. Keys must conform to # the regexp: `[a-zA-Z][a-zA-Z0-9_-]{0,62}`. Values must conform to the # regexp: `[a-zA-Z0-9_-]{0,63}`. Both keys and values are additionally # constrained to be <= 128 bytes in size. # @!attribute [rw] require_approval # @return [::Boolean] # Optional. Whether or not the `Target` requires approval. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Target` was created. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Most recent time at which the `Target` was updated. # @!attribute [rw] gke # @return [::Google::Cloud::Deploy::V1::GkeCluster] # Information specifying a GKE Cluster. # @!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. # @!attribute [rw] execution_configs # @return [::Array<::Google::Cloud::Deploy::V1::ExecutionConfig>] # Configurations for all execution that relates to this `Target`. # Each `ExecutionEnvironmentUsage` value may only be used in a single # configuration; using the same value multiple times is an error. # When one or more configurations are specified, they must include the # `RENDER` and `DEPLOY` `ExecutionEnvironmentUsage` values. # When no configurations are specified, execution will use the default # specified in `DefaultPool`. class Target 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 end # Configuration of the environment to use when calling Skaffold. # @!attribute [rw] usages # @return [::Array<::Google::Cloud::Deploy::V1::ExecutionConfig::ExecutionEnvironmentUsage>] # Required. Usages when this configuration should be applied. # @!attribute [rw] default_pool # @return [::Google::Cloud::Deploy::V1::DefaultPool] # Optional. Use default Cloud Build pool. # @!attribute [rw] private_pool # @return [::Google::Cloud::Deploy::V1::PrivatePool] # Optional. Use private Cloud Build pool. class ExecutionConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible usages of this configuration. module ExecutionEnvironmentUsage # Default value. This value is unused. EXECUTION_ENVIRONMENT_USAGE_UNSPECIFIED = 0 # Use for rendering. RENDER = 1 # Use for deploying and deployment hooks. DEPLOY = 2 end end # Execution using the default Cloud Build pool. # @!attribute [rw] service_account # @return [::String] # Optional. Google service account to use for execution. If unspecified, # the project execution service account # (<PROJECT_NUMBER>-compute@developer.gserviceaccount.com) will be used. # @!attribute [rw] artifact_storage # @return [::String] # Optional. Cloud Storage location where execution outputs should be stored. This can # either be a bucket ("gs://my-bucket") or a path within a bucket # ("gs://my-bucket/my-dir"). # If unspecified, a default bucket located in the same region will be used. class DefaultPool include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Execution using a private Cloud Build pool. # @!attribute [rw] worker_pool # @return [::String] # Required. Resource name of the Cloud Build worker pool to use. The format is # `projects/{project}/locations/{location}/workerPools/{pool}`. # @!attribute [rw] service_account # @return [::String] # Optional. Google service account to use for execution. If unspecified, # the project execution service account # (<PROJECT_NUMBER>-compute@developer.gserviceaccount.com) will be used. # @!attribute [rw] artifact_storage # @return [::String] # Optional. Cloud Storage location where execution outputs should be stored. This can # either be a bucket ("gs://my-bucket") or a path within a bucket # ("gs://my-bucket/my-dir"). # If unspecified, a default bucket located in the same region will be used. class PrivatePool include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Information specifying a GKE Cluster. # @!attribute [rw] cluster # @return [::String] # Information specifying a GKE Cluster. Format is # `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}. class GkeCluster include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `ListTargets`. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of targets. Format must be # projects/\\{project_id}/locations/\\{location_name}. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of `Target` objects to return. The service may return # fewer than this value. If unspecified, at most 50 `Target` objects will be # returned. The maximum value is 1000; values above 1000 will be set to 1000. # @!attribute [rw] page_token # @return [::String] # Optional. A page token, received from a previous `ListTargets` 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] # Optional. Filter builds to be returned. See https://google.aip.dev/160 for more # details. # @!attribute [rw] order_by # @return [::String] # Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. class ListTargetsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response object from `ListTargets`. # @!attribute [rw] targets # @return [::Array<::Google::Cloud::Deploy::V1::Target>] # The `Target` 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 ListTargetsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `GetTarget`. # @!attribute [rw] name # @return [::String] # Required. Name of the `Target`. Format must be # projects/\\{project_id}/locations/\\{location_name}/targets/\\{target_name}. class GetTargetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `CreateTarget`. # @!attribute [rw] parent # @return [::String] # Required. The parent collection in which the `Target` should be created. # Format should be # projects/\\{project_id}/locations/\\{location_name}. # @!attribute [rw] target_id # @return [::String] # Required. ID of the `Target`. # @!attribute [rw] target # @return [::Google::Cloud::Deploy::V1::Target] # Required. The `Target` 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 will know to ignore # the request if it has already been completed. The server will guarantee # that for at least 60 minutes since 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 CreateTargetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `UpdateTarget`. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Required. Field mask is used to specify the fields to be overwritten in the # Target resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] target # @return [::Google::Cloud::Deploy::V1::Target] # Required. The `Target` 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 will know to ignore # the request if it has already been completed. The server will guarantee # that for at least 60 minutes since 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 `Target` that does not exist will # result in the creation of a new `Target`. # @!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 UpdateTargetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `DeleteTarget`. # @!attribute [rw] name # @return [::String] # Required. The name of the `Target` to delete. Format should be # projects/\\{project_id}/locations/\\{location_name}/targets/\\{target_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 will know to ignore # the request if it has already been completed. The server will guarantee # 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 # DeliveryPipeline 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 DeleteTargetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A `Release` resource in the Google Cloud Deploy API. # # A `Release` defines a specific Skaffold configuration instance # that can be deployed. # @!attribute [rw] name # @return [::String] # Optional. Name of the `Release`. Format is projects/\\{project}/ # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/ # releases/[a-z][a-z0-9\-]\\{0,62}. # @!attribute [r] uid # @return [::String] # Output only. Unique identifier of the `Release`. # @!attribute [rw] description # @return [::String] # Description of the `Release`. 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 Google Cloud Deploy. See # https://google.aip.dev/128#annotations for more details such as format and # size limitations. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Labels are attributes that can be set and used by both the # user and by Google Cloud Deploy. Labels must meet the following # constraints: Each resource is limited to 64 labels. Keys must conform to # the regexp: `[a-zA-Z][a-zA-Z0-9_-]{0,62}`. Values must conform to the # regexp: `[a-zA-Z0-9_-]{0,63}`. Both keys and values are additionally # constrained to be <= 128 bytes in size. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Release` was created. # @!attribute [r] render_start_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the render began. # @!attribute [r] render_end_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the render completed. # @!attribute [rw] skaffold_config_uri # @return [::String] # Cloud Storage URI of tar.gz archive containing Skaffold configuration. # @!attribute [rw] skaffold_config_path # @return [::String] # Filepath of the Skaffold config inside of the config URI. # @!attribute [rw] build_artifacts # @return [::Array<::Google::Cloud::Deploy::V1::BuildArtifact>] # List of artifacts to pass through to Skaffold command. # @!attribute [r] delivery_pipeline_snapshot # @return [::Google::Cloud::Deploy::V1::DeliveryPipeline] # Output only. Snapshot of the parent pipeline taken at release creation time. # @!attribute [r] target_snapshots # @return [::Array<::Google::Cloud::Deploy::V1::Target>] # Output only. Snapshot of the parent pipeline's targets taken at release creation time. # @!attribute [r] render_state # @return [::Google::Cloud::Deploy::V1::Release::RenderState] # Output only. Current state of the render operation. # @!attribute [rw] etag # @return [::String] # 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. # @!attribute [rw] skaffold_version # @return [::String] # The Skaffold version to use when operating on this release, such as # "1.20.0". Not all versions are valid; Google Cloud Deploy supports a # specific set of versions. # # If unset, the most recent supported Skaffold version will be used. # @!attribute [r] target_artifacts # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Deploy::V1::TargetArtifact}] # Output only. Map from target ID to the target artifacts created # during the render operation. # @!attribute [r] target_renders # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Deploy::V1::Release::TargetRender}] # Output only. Map from target ID to details of the render operation for that target. class Release include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Details of rendering for a single target. # @!attribute [r] rendering_build # @return [::String] # Output only. The resource name of the Cloud Build `Build` object that is used to # render the manifest for this target. Format is # `projects/{project}/locations/{location}/builds/{build}`. # @!attribute [r] rendering_state # @return [::Google::Cloud::Deploy::V1::Release::TargetRender::TargetRenderState] # Output only. Current state of the render operation for this Target. class TargetRender include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Valid states of the render operation. module TargetRenderState # The render operation state is unspecified. TARGET_RENDER_STATE_UNSPECIFIED = 0 # The render operation has completed successfully. SUCCEEDED = 1 # The render operation has failed. FAILED = 2 # The render operation is in progress. IN_PROGRESS = 3 end end # @!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 # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::Google::Cloud::Deploy::V1::TargetArtifact] class TargetArtifactsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::Google::Cloud::Deploy::V1::Release::TargetRender] class TargetRendersEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Valid states of the render operation. module RenderState # The render state is unspecified. RENDER_STATE_UNSPECIFIED = 0 # All rendering operations have completed successfully. SUCCEEDED = 1 # All rendering operations have completed, and one or more have failed. FAILED = 2 # Rendering has started and is not complete. IN_PROGRESS = 3 end end # Description of an a image to use during Skaffold rendering. # @!attribute [rw] image # @return [::String] # Image name in Skaffold configuration. # @!attribute [rw] tag # @return [::String] # Image tag to use. This will generally be the full path to an image, such # as "gcr.io/my-project/busybox:1.2.3" or # "gcr.io/my-project/busybox@sha256:abc123". class BuildArtifact include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The artifacts produced by a target render operation. # @!attribute [r] artifact_uri # @return [::String] # Output only. URI of a directory containing the artifacts. This contains # deployment configuration used by Skaffold during a rollout, and all # paths are relative to this location. # @!attribute [r] skaffold_config_path # @return [::String] # Output only. File path of the resolved Skaffold configuration relative to the URI. # @!attribute [r] manifest_path # @return [::String] # Output only. File path of the rendered manifest relative to the URI. class TargetArtifact include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `ListReleases`. # @!attribute [rw] parent # @return [::String] # Required. The `DeliveryPipeline` which owns this collection of `Release` objects. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of `Release` objects to return. The service may return # fewer than this value. If unspecified, at most 50 `Release` objects will be # returned. The maximum value is 1000; values above 1000 will be set to 1000. # @!attribute [rw] page_token # @return [::String] # Optional. A page token, received from a previous `ListReleases` 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] # Optional. Filter builds to be returned. See https://google.aip.dev/160 for more # details. # @!attribute [rw] order_by # @return [::String] # Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. class ListReleasesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response object from `ListReleases`. # @!attribute [rw] releases # @return [::Array<::Google::Cloud::Deploy::V1::Release>] # The `Release` 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 ListReleasesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `GetRelease`. # @!attribute [rw] name # @return [::String] # Required. Name of the `Release`. Format must be # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}. class GetReleaseRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object for `CreateRelease`, # @!attribute [rw] parent # @return [::String] # Required. The parent collection in which the `Release` should be created. # Format should be # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}. # @!attribute [rw] release_id # @return [::String] # Required. ID of the `Release`. # @!attribute [rw] release # @return [::Google::Cloud::Deploy::V1::Release] # Required. The `Release` 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 will know to ignore # the request if it has already been completed. The server will guarantee # that for at least 60 minutes since 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 CreateReleaseRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A `Rollout` resource in the Google Cloud Deploy API. # # A `Rollout` contains information around a specific deployment to a `Target`. # @!attribute [rw] name # @return [::String] # Optional. Name of the `Rollout`. Format is projects/\\{project}/ # locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/ # releases/\\{release}/rollouts/[a-z][a-z0-9\-]\\{0,62}. # @!attribute [r] uid # @return [::String] # Output only. Unique identifier of the `Rollout`. # @!attribute [rw] description # @return [::String] # Description of the `Rollout` for user purposes. 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 Google Cloud Deploy. See # https://google.aip.dev/128#annotations for more details such as format and # size limitations. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Labels are attributes that can be set and used by both the # user and by Google Cloud Deploy. Labels must meet the following # constraints: Each resource is limited to 64 labels. Keys must conform to # the regexp: `[a-zA-Z][a-zA-Z0-9_-]{0,62}`. Values must conform to the # regexp: `[a-zA-Z0-9_-]{0,63}`. Both keys and values are additionally # constrained to be <= 128 bytes in size. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Rollout` was created. # @!attribute [r] approve_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Rollout` was approved. # @!attribute [r] enqueue_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Rollout` was enqueued. # @!attribute [r] deploy_start_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Rollout` started deploying. # @!attribute [r] deploy_end_time # @return [::Google::Protobuf::Timestamp] # Output only. Time at which the `Rollout` finished deploying. # @!attribute [rw] target_id # @return [::String] # Required. The ID of Target to which this `Rollout` is deploying. # @!attribute [r] approval_state # @return [::Google::Cloud::Deploy::V1::Rollout::ApprovalState] # Output only. Approval state of the `Rollout`. # @!attribute [r] state # @return [::Google::Cloud::Deploy::V1::Rollout::State] # Output only. Current state of the `Rollout`. # @!attribute [r] failure_reason # @return [::String] # Output only. Reason the build failed. Empty if the build succeeded. # @!attribute [r] deploying_build # @return [::String] # Output only. The resource name of the Cloud Build `Build` object that is used to deploy # the Rollout. Format is # `projects/{project}/locations/{location}/builds/{build}`. # @!attribute [rw] etag # @return [::String] # 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 Rollout 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 # Valid approval states of a `Rollout`. module ApprovalState # The `Rollout` has an unspecified approval state. APPROVAL_STATE_UNSPECIFIED = 0 # The `Rollout` requires approval. NEEDS_APPROVAL = 1 # The `Rollout` does not require approval. DOES_NOT_NEED_APPROVAL = 2 # The `Rollout` has been approved. APPROVED = 3 # The `Rollout` has been rejected. REJECTED = 4 end # Valid states of a `Rollout`. module State # The `Rollout` has an unspecified state. STATE_UNSPECIFIED = 0 # The `Rollout` has completed successfully. SUCCEEDED = 1 # The `Rollout` has failed. FAILED = 2 # The `Rollout` is being deployed. IN_PROGRESS = 3 # The `Rollout` needs approval. PENDING_APPROVAL = 4 # An approver rejected the `Rollout`. APPROVAL_REJECTED = 5 # The `Rollout` is waiting for an earlier Rollout(s) to complete on this # `Target`. PENDING = 6 # The `Rollout` is waiting for the `Release` to be fully rendered. PENDING_RELEASE = 7 end end # ListRolloutsRequest is the request object used by `ListRollouts`. # @!attribute [rw] parent # @return [::String] # Required. The `Release` which owns this collection of `Rollout` objects. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of `Rollout` objects to return. The service may return # fewer than this value. If unspecified, at most 50 `Rollout` objects will be # returned. The maximum value is 1000; values above 1000 will be set to 1000. # @!attribute [rw] page_token # @return [::String] # Optional. A page token, received from a previous `ListRollouts` 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] # Optional. Filter builds to be returned. See https://google.aip.dev/160 for more # details. # @!attribute [rw] order_by # @return [::String] # Optional. Field to sort by. See https://google.aip.dev/132#ordering for more details. class ListRolloutsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ListRolloutsResponse is the response object reutrned by `ListRollouts`. # @!attribute [rw] rollouts # @return [::Array<::Google::Cloud::Deploy::V1::Rollout>] # The `Rollout` 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 ListRolloutsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # GetRolloutRequest is the request object used by `GetRollout`. # @!attribute [rw] name # @return [::String] # Required. Name of the `Rollout`. Format must be # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}/rollouts/\\{rollout_name}. class GetRolloutRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # CreateRolloutRequest is the request object used by `CreateRollout`. # @!attribute [rw] parent # @return [::String] # Required. The parent collection in which the `Rollout` should be created. # Format should be # projects/\\{project_id}/locations/\\{location_name}/deliveryPipelines/\\{pipeline_name}/releases/\\{release_name}. # @!attribute [rw] rollout_id # @return [::String] # Required. ID of the `Rollout`. # @!attribute [rw] rollout # @return [::Google::Cloud::Deploy::V1::Rollout] # Required. The `Rollout` 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 will know to ignore # the request if it has already been completed. The server will guarantee # that for at least 60 minutes since 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 CreateRolloutRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents the metadata of the long-running operation. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the operation was created. # @!attribute [r] end_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the operation finished running. # @!attribute [r] target # @return [::String] # Output only. Server-defined resource path for the target of the operation. # @!attribute [r] verb # @return [::String] # Output only. Name of the verb executed by the operation. # @!attribute [r] status_message # @return [::String] # Output only. Human-readable status of the operation, if any. # @!attribute [r] requested_cancellation # @return [::Boolean] # Output only. Identifies whether the user has requested cancellation # of the operation. Operations that have successfully been cancelled # have [Operation.error][] value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1, # corresponding to `Code.CANCELLED`. # @!attribute [r] api_version # @return [::String] # Output only. API version used to start the operation. class OperationMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request object used by `ApproveRollout`. # @!attribute [rw] name # @return [::String] # Required. Name of the Rollout. Format is # projects/\\{project}/locations/\\{location}/deliveryPipelines/\\{deliveryPipeline}/ # releases/\\{release}/rollouts/\\{rollout}. # @!attribute [rw] approved # @return [::Boolean] # Required. True = approve; false = reject class ApproveRolloutRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response object from `ApproveRollout`. class ApproveRolloutResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Service-wide configuration. # @!attribute [rw] name # @return [::String] # Name of the configuration. # @!attribute [r] supported_versions # @return [::Array<::Google::Cloud::Deploy::V1::SkaffoldVersion>] # Output only. All supported versions of Skaffold. # @!attribute [r] default_skaffold_version # @return [::String] # Output only. Default Skaffold version that is assigned when a Release is created without # specifying a Skaffold version. class Config include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Details of a supported Skaffold version. # @!attribute [rw] version # @return [::String] # Release version number. For example, "1.20.3". # @!attribute [rw] support_end_date # @return [::Google::Type::Date] # Date when this version is expected to no longer be supported. class SkaffoldVersion include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request to get a configuration. # @!attribute [rw] name # @return [::String] # Required. Name of requested configuration. class GetConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end