From c907927b59079867825954786192954293aa6184 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 4 May 2023 13:08:06 -0400 Subject: [PATCH 1/3] feat: Adds support for Startup CPU Boost (GA) (#96) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Adds support for Startup CPU Boost (GA) feat: Adds support for Session affinity in Service (GA) feat: New 'port' field for HttpGetAction probe type feat: New fields/enum values docs: General documentation fixes. Startup CPU Boost * The new field is found in https://cloud.google.com/run/docs/reference/rest/v2/Container#resourcerequirements. * For more information, see https://cloud.google.com/run/docs/configuring/cpu#startup-boost Session Affinity * The new field is found in https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#revisiontemplate. * For more informaton, see https://cloud.google.com/run/docs/configuring/session-affinity HttpGetAction probe port * The new field is found in https://cloud.google.com/run/docs/reference/rest/v2/Container#httpgetaction Fields/enum values * New output-only field satisfiesPzs in Service, Revision, Execution, and Job, currently unused. The field is reserved for future use. It is surfaced to maintain v1<->v2 portability. * New ExecutionReason.CANCELLING enum value. This is used in output-only field. Documentation fixes * Clarified permissions required for Upsert behavior (UpdateServiceRequest.allowMissing) * Clarified behavior for LaunchStage in all resource types. * Misc documentation improvements; removed most external references. PiperOrigin-RevId: 528248744 Source-Link: https://github.com/googleapis/googleapis/commit/a9fb0d2fa85049b316bf7d59248e7a61c6fecb66 Source-Link: https://github.com/googleapis/googleapis-gen/commit/8ffce4c11b97928ae8b1727657ab203dad6597e4 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOGZmY2U0YzExYjk3OTI4YWU4YjE3Mjc2NTdhYjIwM2RhZDY1OTdlNCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- google/cloud/run_v2/types/condition.py | 4 + google/cloud/run_v2/types/execution.py | 34 +++++-- .../cloud/run_v2/types/execution_template.py | 20 +++- google/cloud/run_v2/types/job.py | 41 ++++++--- google/cloud/run_v2/types/k8s_min.py | 92 ++++++++++--------- google/cloud/run_v2/types/revision.py | 36 ++++++-- .../cloud/run_v2/types/revision_template.py | 23 ++++- google/cloud/run_v2/types/service.py | 36 +++++--- google/cloud/run_v2/types/task.py | 14 ++- google/cloud/run_v2/types/task_template.py | 5 +- .../snippet_metadata_google.cloud.run.v2.json | 2 +- tests/unit/gapic/run_v2/test_executions.py | 6 ++ tests/unit/gapic/run_v2/test_jobs.py | 38 +++++++- tests/unit/gapic/run_v2/test_revisions.py | 12 +++ tests/unit/gapic/run_v2/test_services.py | 42 ++++++++- tests/unit/gapic/run_v2/test_tasks.py | 6 ++ 16 files changed, 306 insertions(+), 105 deletions(-) diff --git a/google/cloud/run_v2/types/condition.py b/google/cloud/run_v2/types/condition.py index 93a9d97..32d8960 100644 --- a/google/cloud/run_v2/types/condition.py +++ b/google/cloud/run_v2/types/condition.py @@ -244,11 +244,15 @@ class ExecutionReason(proto.Enum): with a non-zero exit code. CANCELLED (3): The execution was cancelled by users. + CANCELLING (4): + The execution is in the process of being + cancelled. """ EXECUTION_REASON_UNDEFINED = 0 JOB_STATUS_SERVICE_POLLING_ERROR = 1 NON_ZERO_EXIT_CODE = 2 CANCELLED = 3 + CANCELLING = 4 type_: str = proto.Field( proto.STRING, diff --git a/google/cloud/run_v2/types/execution.py b/google/cloud/run_v2/types/execution.py index c81efa8..1af01da 100644 --- a/google/cloud/run_v2/types/execution.py +++ b/google/cloud/run_v2/types/execution.py @@ -170,7 +170,8 @@ class Execution(proto.Message): increases every time the user modifies the desired state. labels (MutableMapping[str, str]): - KRM-style labels for the resource. + Output only. Unstructured key value map that + can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, @@ -180,7 +181,10 @@ class Execution(proto.Message): or https://cloud.google.com/run/docs/configuring/labels annotations (MutableMapping[str, str]): - KRM-style annotations for the resource. + Output only. Unstructured key value map that + may be set by external tools to store and + arbitrary metadata. They are not queryable and + should be preserved when modifying objects. create_time (google.protobuf.timestamp_pb2.Timestamp): Output only. Represents time when the execution was acknowledged by the execution @@ -208,11 +212,17 @@ class Execution(proto.Message): is only populated as a response to a Delete request. launch_stage (google.api.launch_stage_pb2.LaunchStage): - Set the launch stage to a preview stage on write to allow - use of preview features in that stage. On read, describes - whether the resource uses preview features. Launch Stages - are defined at `Google Cloud Platform Launch + The least stable launch stage needed to create this + resource, as defined by `Google Cloud Platform Launch Stages `__. + Cloud Run supports ``ALPHA``, ``BETA``, and ``GA``. + + .. raw:: html + +

Note that this value might not be what was used + as input. For example, if ALPHA was provided as input in the parent + resource, but only BETA and GA-level features are were, this field will be + BETA. job (str): Output only. The name of the parent Job. parallelism (int): @@ -221,15 +231,13 @@ class Execution(proto.Message): task_count. The actual number of tasks running in steady state will be less than this number when ((.spec.task_count - .status.successful) < .spec.parallelism), i.e. when the - work left to do is less than max parallelism. More info: - https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ + work left to do is less than max parallelism. task_count (int): Output only. Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the - execution. More info: - https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ + execution. template (google.cloud.run_v2.types.TaskTemplate): Output only. The template used to create tasks for this execution. @@ -265,6 +273,8 @@ class Execution(proto.Message): log_uri (str): Output only. URI where logs for this execution can be found in Cloud Console. + satisfies_pzs (bool): + Output only. Reserved for future use. etag (str): Output only. A system-generated fingerprint for this version of the resource. May be used to @@ -382,6 +392,10 @@ class Execution(proto.Message): proto.STRING, number=26, ) + satisfies_pzs: bool = proto.Field( + proto.BOOL, + number=27, + ) etag: str = proto.Field( proto.STRING, number=99, diff --git a/google/cloud/run_v2/types/execution_template.py b/google/cloud/run_v2/types/execution_template.py index f3574a7..b59617e 100644 --- a/google/cloud/run_v2/types/execution_template.py +++ b/google/cloud/run_v2/types/execution_template.py @@ -35,7 +35,13 @@ class ExecutionTemplate(proto.Message): Attributes: labels (MutableMapping[str, str]): - KRM-style labels for the resource. + Unstructured key value map that can be used to organize and + categorize objects. User-provided labels are shared with + Google's billing system, so they can be used to filter, or + break down billing charges by team, component, environment, + state, etc. For more information, visit + https://cloud.google.com/resource-manager/docs/creating-managing-labels + or https://cloud.google.com/run/docs/configuring/labels. .. raw:: html @@ -44,7 +50,9 @@ class ExecutionTemplate(proto.Message): namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate. annotations (MutableMapping[str, str]): - KRM-style annotations for the resource. + Unstructured key value map that may be set by external tools + to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. .. raw:: html @@ -52,6 +60,11 @@ class ExecutionTemplate(proto.Message): `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. + + .. raw:: html + +

This field follows Kubernetes annotations' namespacing, limits, and + rules. parallelism (int): Specifies the maximum desired number of tasks the execution should run at given time. Must be <= task_count. When the @@ -66,8 +79,7 @@ class ExecutionTemplate(proto.Message): execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution. - More info: - https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ + Defaults to 1. template (google.cloud.run_v2.types.TaskTemplate): Required. Describes the task(s) that will be created when executing an execution. diff --git a/google/cloud/run_v2/types/job.py b/google/cloud/run_v2/types/job.py index 4421597..f41a427 100644 --- a/google/cloud/run_v2/types/job.py +++ b/google/cloud/run_v2/types/job.py @@ -278,12 +278,13 @@ class Job(proto.Message): increases every time the user modifies the desired state. labels (MutableMapping[str, str]): - KRM-style labels for the resource. User-provided labels are - shared with Google's billing system, so they can be used to - filter, or break down billing charges by team, component, - environment, state, etc. For more information, visit + Unstructured key value map that can be used to organize and + categorize objects. User-provided labels are shared with + Google's billing system, so they can be used to filter, or + break down billing charges by team, component, environment, + state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels - or https://cloud.google.com/run/docs/configuring/labels + or https://cloud.google.com/run/docs/configuring/labels. .. raw:: html @@ -292,22 +293,21 @@ class Job(proto.Message): namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job. annotations (MutableMapping[str, str]): - KRM-style annotations for the resource. Unstructured key - value map that may be set by external tools to store and - arbitrary metadata. They are not queryable and should be - preserved when modifying objects. + Unstructured key value map that may be set by external tools + to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. .. raw:: html

Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` - namespaces, and they will be rejected. All system annotations in v1 now - have a corresponding field in v2 Job. + namespaces, and they will be rejected on new resources. All system + annotations in v1 now have a corresponding field in v2 Job. .. raw:: html

This field follows Kubernetes annotations' namespacing, limits, and - rules. More info: https://kubernetes.io/docs/user-guide/annotations + rules. create_time (google.protobuf.timestamp_pb2.Timestamp): Output only. The creation time. update_time (google.protobuf.timestamp_pb2.Timestamp): @@ -332,7 +332,16 @@ class Job(proto.Message): The launch stage as defined by `Google Cloud Platform Launch Stages `__. Cloud Run supports ``ALPHA``, ``BETA``, and ``GA``. If no - value is specified, GA is assumed. + value is specified, GA is assumed. Set the launch stage to a + preview stage on input to allow use of preview features in + that stage. On read (or output), describes whether the + resource uses preview features. + + .. raw:: html + +

+ For example, if ALPHA is provided as input, but only BETA and GA-level + features are used, this field will be BETA on output. binary_authorization (google.cloud.run_v2.types.BinaryAuthorization): Settings for the Binary Authorization feature. @@ -386,6 +395,8 @@ class Job(proto.Message): last succeeded execution or empty for newly created Job. Additional information on the failure can be found in ``terminal_condition`` and ``conditions``. + satisfies_pzs (bool): + Output only. Reserved for future use. etag (str): Output only. A system-generated fingerprint for this version of the resource. May be used to @@ -492,6 +503,10 @@ class Job(proto.Message): proto.BOOL, number=23, ) + satisfies_pzs: bool = proto.Field( + proto.BOOL, + number=25, + ) etag: str = proto.Field( proto.STRING, number=99, diff --git a/google/cloud/run_v2/types/k8s_min.py b/google/cloud/run_v2/types/k8s_min.py index e31f3f3..091fca1 100644 --- a/google/cloud/run_v2/types/k8s_min.py +++ b/google/cloud/run_v2/types/k8s_min.py @@ -56,35 +56,21 @@ class Container(proto.Message): Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, - Dockerhub is assumed. More info: - https://kubernetes.io/docs/concepts/containers/images + Dockerhub is assumed. command (MutableSequence[str]): - Entrypoint array. Not executed within a shell. The docker - image's ENTRYPOINT is used if this is not provided. Variable - references $(VAR_NAME) are expanded using the container's - environment. If a variable cannot be resolved, the reference - in the input string will be unchanged. The $(VAR_NAME) - syntax can be escaped with a double $$, ie: $$(VAR_NAME). - Escaped references will never be expanded, regardless of - whether the variable exists or not. More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + Entrypoint array. Not executed within a + shell. The docker image's ENTRYPOINT is used if + this is not provided. args (MutableSequence[str]): - Arguments to the entrypoint. The docker image's CMD is used - if this is not provided. Variable references $(VAR_NAME) are - expanded using the container's environment. If a variable - cannot be resolved, the reference in the input string will - be unchanged. The $(VAR_NAME) syntax can be escaped with a - double $$, ie: $$(VAR_NAME). Escaped references will never - be expanded, regardless of whether the variable exists or - not. More info: - https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell + Arguments to the entrypoint. + The docker image's CMD is used if this is not + provided. env (MutableSequence[google.cloud.run_v2.types.EnvVar]): List of environment variables to set in the container. resources (google.cloud.run_v2.types.ResourceRequirements): Compute Resource requirements by this - container. More info: - https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources + container. ports (MutableSequence[google.cloud.run_v2.types.ContainerPort]): List of ports to expose from the container. Only a single port can be specified. The @@ -106,16 +92,12 @@ class Container(proto.Message): liveness_probe (google.cloud.run_v2.types.Probe): Periodic probe of container liveness. Container will be restarted if the probe fails. - More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes startup_probe (google.cloud.run_v2.types.Probe): Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails. - More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes """ name: str = proto.Field( @@ -176,15 +158,24 @@ class ResourceRequirements(proto.Message): Attributes: limits (MutableMapping[str, str]): - Only memory and CPU are supported. Note: The - only supported values for CPU are '1', '2', - '4', and '8'. Setting 4 CPU requires at least - 2Gi of memory. The values of the map is string - form of the 'quantity' k8s type: - https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go + Only ´memory´ and 'cpu' are supported. + + .. raw:: html + +

Notes: + * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 + CPU requires at least 2Gi of memory. For more information, go to + https://cloud.google.com/run/docs/configuring/cpu. + * For supported 'memory' values and syntax, go to + https://cloud.google.com/run/docs/configuring/memory-limits cpu_idle (bool): Determines whether CPU should be throttled or not outside of requests. + startup_cpu_boost (bool): + Determines whether CPU should be boosted on + startup of a new container instance above the + requested CPU threshold, this can help reduce + cold-start latency. """ limits: MutableMapping[str, str] = proto.MapField( @@ -196,6 +187,10 @@ class ResourceRequirements(proto.Message): proto.BOOL, number=2, ) + startup_cpu_boost: bool = proto.Field( + proto.BOOL, + number=3, + ) class EnvVar(proto.Message): @@ -356,8 +351,7 @@ class Volume(proto.Message): Required. Volume's name. secret (google.cloud.run_v2.types.SecretVolumeSource): Secret represents a secret that should - populate this volume. More info: - https://kubernetes.io/docs/concepts/storage/volumes#secret + populate this volume. This field is a member of `oneof`_ ``volume_type``. cloud_sql_instance (google.cloud.run_v2.types.CloudSqlInstance): @@ -538,14 +532,11 @@ class Probe(proto.Message): started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. - Maximum value for startup probe is 240. More - info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + Maximum value for startup probe is 240. timeout_seconds (int): Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must - be smaller than period_seconds. More info: - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes + be smaller than period_seconds. period_seconds (int): How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness @@ -621,6 +612,11 @@ class HTTPGetAction(proto.Message): http_headers (MutableSequence[google.cloud.run_v2.types.HTTPHeader]): Custom headers to set in the request. HTTP allows repeated headers. + port (int): + Port number to access on the container. Must be in the range + 1 to 65535. If not specified, defaults to the exposed port + of the container, which is the value of + container.ports[0].containerPort. """ path: str = proto.Field( @@ -632,6 +628,10 @@ class HTTPGetAction(proto.Message): number=4, message="HTTPHeader", ) + port: int = proto.Field( + proto.INT32, + number=5, + ) class HTTPHeader(proto.Message): @@ -660,9 +660,10 @@ class TCPSocketAction(proto.Message): Attributes: port (int): - Port number to access on the container. Must - be in the range 1 to 65535. If not specified, - defaults to 8080. + Port number to access on the container. Must be in the range + 1 to 65535. If not specified, defaults to the exposed port + of the container, which is the value of + container.ports[0].containerPort. """ port: int = proto.Field( @@ -676,9 +677,10 @@ class GRPCAction(proto.Message): Attributes: port (int): - Port number of the gRPC service. Number must - be in the range 1 to 65535. If not specified, - defaults to 8080. + Port number of the gRPC service. Number must be in the range + 1 to 65535. If not specified, defaults to the exposed port + of the container, which is the value of + container.ports[0].containerPort. service (str): Service is the name of the service to place in the gRPC HealthCheckRequest (see diff --git a/google/cloud/run_v2/types/revision.py b/google/cloud/run_v2/types/revision.py index 44d3605..ffbd7eb 100644 --- a/google/cloud/run_v2/types/revision.py +++ b/google/cloud/run_v2/types/revision.py @@ -171,7 +171,8 @@ class Revision(proto.Message): increases every time the user modifies the desired state. labels (MutableMapping[str, str]): - KRM-style labels for the resource. + Output only. Unstructured key value map that + can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, @@ -179,9 +180,12 @@ class Revision(proto.Message): information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or - https://cloud.google.com/run/docs/configuring/labels + https://cloud.google.com/run/docs/configuring/labels. annotations (MutableMapping[str, str]): - KRM-style annotations for the resource. + Output only. Unstructured key value map that + may be set by external tools to store and + arbitrary metadata. They are not queryable and + should be preserved when modifying objects. create_time (google.protobuf.timestamp_pb2.Timestamp): Output only. The creation time. update_time (google.protobuf.timestamp_pb2.Timestamp): @@ -196,11 +200,17 @@ class Revision(proto.Message): is only populated as a response to a Delete request. launch_stage (google.api.launch_stage_pb2.LaunchStage): - Set the launch stage to a preview stage on write to allow - use of preview features in that stage. On read, describes - whether the resource uses preview features. Launch Stages - are defined at `Google Cloud Platform Launch + The least stable launch stage needed to create this + resource, as defined by `Google Cloud Platform Launch Stages `__. + Cloud Run supports ``ALPHA``, ``BETA``, and ``GA``. + + .. raw:: html + +

Note that this value might not be what was used + as input. For example, if ALPHA was provided as input in the parent + resource, but only BETA and GA-level features are were, this field will be + BETA. service (str): Output only. The name of the parent service. scaling (google.cloud.run_v2.types.RevisionScaling): @@ -260,6 +270,10 @@ class Revision(proto.Message): log_uri (str): Output only. The Google Console URI to obtain logs for the Revision. + satisfies_pzs (bool): + Output only. Reserved for future use. + session_affinity (bool): + Enable session affinity. etag (str): Output only. A system-generated fingerprint for this version of the resource. May be used to @@ -388,6 +402,14 @@ class Revision(proto.Message): proto.STRING, number=33, ) + satisfies_pzs: bool = proto.Field( + proto.BOOL, + number=37, + ) + session_affinity: bool = proto.Field( + proto.BOOL, + number=38, + ) etag: str = proto.Field( proto.STRING, number=99, diff --git a/google/cloud/run_v2/types/revision_template.py b/google/cloud/run_v2/types/revision_template.py index 7efc692..43281b7 100644 --- a/google/cloud/run_v2/types/revision_template.py +++ b/google/cloud/run_v2/types/revision_template.py @@ -40,7 +40,13 @@ class RevisionTemplate(proto.Message): field is omitted, it will be automatically generated based on the Service name. labels (MutableMapping[str, str]): - KRM-style labels for the resource. + Unstructured key value map that can be used to organize and + categorize objects. User-provided labels are shared with + Google's billing system, so they can be used to filter, or + break down billing charges by team, component, environment, + state, etc. For more information, visit + https://cloud.google.com/resource-manager/docs/creating-managing-labels + or https://cloud.google.com/run/docs/configuring/labels. .. raw:: html @@ -49,7 +55,9 @@ class RevisionTemplate(proto.Message): namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate. annotations (MutableMapping[str, str]): - KRM-style annotations for the resource. + Unstructured key value map that may be set by external tools + to store and arbitrary metadata. They are not queryable and + should be preserved when modifying objects. .. raw:: html @@ -57,6 +65,11 @@ class RevisionTemplate(proto.Message): `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. + + .. raw:: html + +

This field follows Kubernetes annotations' namespacing, limits, and + rules. scaling (google.cloud.run_v2.types.RevisionScaling): Scaling settings for this Revision. vpc_access (google.cloud.run_v2.types.VpcAccess): @@ -91,6 +104,8 @@ class RevisionTemplate(proto.Message): max_instance_request_concurrency (int): Sets the maximum number of requests that each serving instance can receive. + session_affinity (bool): + Enable session affinity. """ revision: str = proto.Field( @@ -149,6 +164,10 @@ class RevisionTemplate(proto.Message): proto.INT32, number=15, ) + session_affinity: bool = proto.Field( + proto.BOOL, + number=19, + ) __all__ = tuple(sorted(__protobuf__.manifest)) diff --git a/google/cloud/run_v2/types/service.py b/google/cloud/run_v2/types/service.py index f881baf..c9d0033 100644 --- a/google/cloud/run_v2/types/service.py +++ b/google/cloud/run_v2/types/service.py @@ -98,9 +98,9 @@ class UpdateServiceRequest(proto.Message): resources. allow_missing (bool): If set to true, and if the Service does not - exist, it will create a new one. Caller must - have both create and update permissions for this - call if this is set to true. + exist, it will create a new one. The caller must + have 'run.services.create' permissions if this + is set to true and the Service does not exist. """ service: "Service" = proto.Field( @@ -265,13 +265,13 @@ class Service(proto.Message): its JSON representation will be a ``string`` instead of an ``integer``. labels (MutableMapping[str, str]): - Map of string keys and values that can be used to organize - and categorize objects. User-provided labels are shared with + Unstructured key value map that can be used to organize and + categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels - or https://cloud.google.com/run/docs/configuring/labels + or https://cloud.google.com/run/docs/configuring/labels. .. raw:: html @@ -288,14 +288,13 @@ class Service(proto.Message):

Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` - namespaces, and they will be rejected. All system annotations in v1 now - have a corresponding field in v2 Service. + namespaces, and they will be rejected in new resources. All system + annotations in v1 now have a corresponding field in v2 Service. .. raw:: html

This field follows Kubernetes - annotations' namespacing, limits, and rules. More info: - https://kubernetes.io/docs/user-guide/annotations + annotations' namespacing, limits, and rules. create_time (google.protobuf.timestamp_pb2.Timestamp): Output only. The creation time. update_time (google.protobuf.timestamp_pb2.Timestamp): @@ -324,7 +323,16 @@ class Service(proto.Message): The launch stage as defined by `Google Cloud Platform Launch Stages `__. Cloud Run supports ``ALPHA``, ``BETA``, and ``GA``. If no - value is specified, GA is assumed. + value is specified, GA is assumed. Set the launch stage to a + preview stage on input to allow use of preview features in + that stage. On read (or output), describes whether the + resource uses preview features. + + .. raw:: html + +

+ For example, if ALPHA is provided as input, but only BETA and GA-level + features are used, this field will be BETA on output. binary_authorization (google.cloud.run_v2.types.BinaryAuthorization): Settings for the Binary Authorization feature. @@ -371,6 +379,8 @@ class Service(proto.Message): uri (str): Output only. The main URI in which this Service is serving traffic. + satisfies_pzs (bool): + Output only. Reserved for future use. reconciling (bool): Output only. Returns true if the Service is currently being acted upon by the system to bring it into the desired state. @@ -525,6 +535,10 @@ class Service(proto.Message): proto.STRING, number=36, ) + satisfies_pzs: bool = proto.Field( + proto.BOOL, + number=38, + ) reconciling: bool = proto.Field( proto.BOOL, number=98, diff --git a/google/cloud/run_v2/types/task.py b/google/cloud/run_v2/types/task.py index a8c8b07..c7edb67 100644 --- a/google/cloud/run_v2/types/task.py +++ b/google/cloud/run_v2/types/task.py @@ -134,7 +134,8 @@ class Task(proto.Message): increases every time the user modifies the desired state. labels (MutableMapping[str, str]): - KRM-style labels for the resource. + Output only. Unstructured key value map that + can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, @@ -144,7 +145,10 @@ class Task(proto.Message): or https://cloud.google.com/run/docs/configuring/labels annotations (MutableMapping[str, str]): - KRM-style annotations for the resource. + Output only. Unstructured key value map that + may be set by external tools to store and + arbitrary metadata. They are not queryable and + should be preserved when modifying objects. create_time (google.protobuf.timestamp_pb2.Timestamp): Output only. Represents time when the task was created by the job controller. It is not @@ -237,6 +241,8 @@ class Task(proto.Message): log_uri (str): Output only. URI where logs for this execution can be found in Cloud Console. + satisfies_pzs (bool): + Output only. Reserved for future use. etag (str): Output only. A system-generated fingerprint for this version of the resource. May be used to @@ -370,6 +376,10 @@ class Task(proto.Message): proto.STRING, number=32, ) + satisfies_pzs: bool = proto.Field( + proto.BOOL, + number=33, + ) etag: str = proto.Field( proto.STRING, number=99, diff --git a/google/cloud/run_v2/types/task_template.py b/google/cloud/run_v2/types/task_template.py index 20a0e28..59bfccc 100644 --- a/google/cloud/run_v2/types/task_template.py +++ b/google/cloud/run_v2/types/task_template.py @@ -46,7 +46,7 @@ class TaskTemplate(proto.Message): containers. max_retries (int): Number of retries allowed per Task, before - marking this Task failed. + marking this Task failed. Defaults to 3. This field is a member of `oneof`_ ``retries``. timeout (google.protobuf.duration_pb2.Duration): @@ -54,7 +54,8 @@ class TaskTemplate(proto.Message): active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each - retry can run for the full timeout. + retry can run for the full timeout. Defaults to + 600 seconds. service_account (str): Email address of the IAM service account associated with the Task of a Job. The service diff --git a/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json b/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json index 0dd5c7d..da84c85 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-run", - "version": "0.7.1" + "version": "0.1.0" }, "snippets": [ { diff --git a/tests/unit/gapic/run_v2/test_executions.py b/tests/unit/gapic/run_v2/test_executions.py index 40701c2..5f13fba 100644 --- a/tests/unit/gapic/run_v2/test_executions.py +++ b/tests/unit/gapic/run_v2/test_executions.py @@ -728,6 +728,7 @@ def test_get_execution(request_type, transport: str = "grpc"): cancelled_count=1571, retried_count=1399, log_uri="log_uri_value", + satisfies_pzs=True, etag="etag_value", ) response = client.get_execution(request) @@ -754,6 +755,7 @@ def test_get_execution(request_type, transport: str = "grpc"): assert response.cancelled_count == 1571 assert response.retried_count == 1399 assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -806,6 +808,7 @@ async def test_get_execution_async( cancelled_count=1571, retried_count=1399, log_uri="log_uri_value", + satisfies_pzs=True, etag="etag_value", ) ) @@ -833,6 +836,7 @@ async def test_get_execution_async( assert response.cancelled_count == 1571 assert response.retried_count == 1399 assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -1664,6 +1668,7 @@ def test_get_execution_rest(request_type): cancelled_count=1571, retried_count=1399, log_uri="log_uri_value", + satisfies_pzs=True, etag="etag_value", ) @@ -1694,6 +1699,7 @@ def test_get_execution_rest(request_type): assert response.cancelled_count == 1571 assert response.retried_count == 1399 assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True assert response.etag == "etag_value" diff --git a/tests/unit/gapic/run_v2/test_jobs.py b/tests/unit/gapic/run_v2/test_jobs.py index 0291805..bfe0dfe 100644 --- a/tests/unit/gapic/run_v2/test_jobs.py +++ b/tests/unit/gapic/run_v2/test_jobs.py @@ -939,6 +939,7 @@ def test_get_job(request_type, transport: str = "grpc"): observed_generation=2021, execution_count=1628, reconciling=True, + satisfies_pzs=True, etag="etag_value", ) response = client.get_job(request) @@ -961,6 +962,7 @@ def test_get_job(request_type, transport: str = "grpc"): assert response.observed_generation == 2021 assert response.execution_count == 1628 assert response.reconciling is True + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -1009,6 +1011,7 @@ async def test_get_job_async( observed_generation=2021, execution_count=1628, reconciling=True, + satisfies_pzs=True, etag="etag_value", ) ) @@ -1032,6 +1035,7 @@ async def test_get_job_async( assert response.observed_generation == 2021 assert response.execution_count == 1628 assert response.reconciling is True + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -2854,7 +2858,11 @@ def test_create_job_rest(request_type): }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -2870,6 +2878,7 @@ def test_create_job_rest(request_type): "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -2923,6 +2932,7 @@ def test_create_job_rest(request_type): "completion_time": {}, }, "reconciling": True, + "satisfies_pzs": True, "etag": "etag_value", } request = request_type(**request_init) @@ -3170,7 +3180,11 @@ def test_create_job_rest_bad_request( }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -3186,6 +3200,7 @@ def test_create_job_rest_bad_request( "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -3239,6 +3254,7 @@ def test_create_job_rest_bad_request( "completion_time": {}, }, "reconciling": True, + "satisfies_pzs": True, "etag": "etag_value", } request = request_type(**request_init) @@ -3351,6 +3367,7 @@ def test_get_job_rest(request_type): observed_generation=2021, execution_count=1628, reconciling=True, + satisfies_pzs=True, etag="etag_value", ) @@ -3377,6 +3394,7 @@ def test_get_job_rest(request_type): assert response.observed_generation == 2021 assert response.execution_count == 1628 assert response.reconciling is True + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -3989,7 +4007,11 @@ def test_update_job_rest(request_type): }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -4005,6 +4027,7 @@ def test_update_job_rest(request_type): "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -4058,6 +4081,7 @@ def test_update_job_rest(request_type): "completion_time": {}, }, "reconciling": True, + "satisfies_pzs": True, "etag": "etag_value", } request = request_type(**request_init) @@ -4281,7 +4305,11 @@ def test_update_job_rest_bad_request( }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -4297,6 +4325,7 @@ def test_update_job_rest_bad_request( "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -4350,6 +4379,7 @@ def test_update_job_rest_bad_request( "completion_time": {}, }, "reconciling": True, + "satisfies_pzs": True, "etag": "etag_value", } request = request_type(**request_init) diff --git a/tests/unit/gapic/run_v2/test_revisions.py b/tests/unit/gapic/run_v2/test_revisions.py index cc6a7ed..520f8d5 100644 --- a/tests/unit/gapic/run_v2/test_revisions.py +++ b/tests/unit/gapic/run_v2/test_revisions.py @@ -723,6 +723,8 @@ def test_get_revision(request_type, transport: str = "grpc"): reconciling=True, observed_generation=2021, log_uri="log_uri_value", + satisfies_pzs=True, + session_affinity=True, etag="etag_value", ) response = client.get_revision(request) @@ -753,6 +755,8 @@ def test_get_revision(request_type, transport: str = "grpc"): assert response.reconciling is True assert response.observed_generation == 2021 assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True + assert response.session_affinity is True assert response.etag == "etag_value" @@ -803,6 +807,8 @@ async def test_get_revision_async( reconciling=True, observed_generation=2021, log_uri="log_uri_value", + satisfies_pzs=True, + session_affinity=True, etag="etag_value", ) ) @@ -834,6 +840,8 @@ async def test_get_revision_async( assert response.reconciling is True assert response.observed_generation == 2021 assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True + assert response.session_affinity is True assert response.etag == "etag_value" @@ -1557,6 +1565,8 @@ def test_get_revision_rest(request_type): reconciling=True, observed_generation=2021, log_uri="log_uri_value", + satisfies_pzs=True, + session_affinity=True, etag="etag_value", ) @@ -1591,6 +1601,8 @@ def test_get_revision_rest(request_type): assert response.reconciling is True assert response.observed_generation == 2021 assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True + assert response.session_affinity is True assert response.etag == "etag_value" diff --git a/tests/unit/gapic/run_v2/test_services.py b/tests/unit/gapic/run_v2/test_services.py index 6569215..bc9f90c 100644 --- a/tests/unit/gapic/run_v2/test_services.py +++ b/tests/unit/gapic/run_v2/test_services.py @@ -935,6 +935,7 @@ def test_get_service(request_type, transport: str = "grpc"): latest_ready_revision="latest_ready_revision_value", latest_created_revision="latest_created_revision_value", uri="uri_value", + satisfies_pzs=True, reconciling=True, etag="etag_value", ) @@ -961,6 +962,7 @@ def test_get_service(request_type, transport: str = "grpc"): assert response.latest_ready_revision == "latest_ready_revision_value" assert response.latest_created_revision == "latest_created_revision_value" assert response.uri == "uri_value" + assert response.satisfies_pzs is True assert response.reconciling is True assert response.etag == "etag_value" @@ -1013,6 +1015,7 @@ async def test_get_service_async( latest_ready_revision="latest_ready_revision_value", latest_created_revision="latest_created_revision_value", uri="uri_value", + satisfies_pzs=True, reconciling=True, etag="etag_value", ) @@ -1040,6 +1043,7 @@ async def test_get_service_async( assert response.latest_ready_revision == "latest_ready_revision_value" assert response.latest_created_revision == "latest_created_revision_value" assert response.uri == "uri_value" + assert response.satisfies_pzs is True assert response.reconciling is True assert response.etag == "etag_value" @@ -2500,7 +2504,11 @@ def test_create_service_rest(request_type): }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -2516,6 +2524,7 @@ def test_create_service_rest(request_type): "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -2545,6 +2554,7 @@ def test_create_service_rest(request_type): "execution_environment": 1, "encryption_key": "encryption_key_value", "max_instance_request_concurrency": 3436, + "session_affinity": True, }, "traffic": [ { @@ -2578,6 +2588,7 @@ def test_create_service_rest(request_type): } ], "uri": "uri_value", + "satisfies_pzs": True, "reconciling": True, "etag": "etag_value", } @@ -2834,7 +2845,11 @@ def test_create_service_rest_bad_request( }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -2850,6 +2865,7 @@ def test_create_service_rest_bad_request( "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -2879,6 +2895,7 @@ def test_create_service_rest_bad_request( "execution_environment": 1, "encryption_key": "encryption_key_value", "max_instance_request_concurrency": 3436, + "session_affinity": True, }, "traffic": [ { @@ -2912,6 +2929,7 @@ def test_create_service_rest_bad_request( } ], "uri": "uri_value", + "satisfies_pzs": True, "reconciling": True, "etag": "etag_value", } @@ -3028,6 +3046,7 @@ def test_get_service_rest(request_type): latest_ready_revision="latest_ready_revision_value", latest_created_revision="latest_created_revision_value", uri="uri_value", + satisfies_pzs=True, reconciling=True, etag="etag_value", ) @@ -3058,6 +3077,7 @@ def test_get_service_rest(request_type): assert response.latest_ready_revision == "latest_ready_revision_value" assert response.latest_created_revision == "latest_created_revision_value" assert response.uri == "uri_value" + assert response.satisfies_pzs is True assert response.reconciling is True assert response.etag == "etag_value" @@ -3679,7 +3699,11 @@ def test_update_service_rest(request_type): }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -3695,6 +3719,7 @@ def test_update_service_rest(request_type): "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -3724,6 +3749,7 @@ def test_update_service_rest(request_type): "execution_environment": 1, "encryption_key": "encryption_key_value", "max_instance_request_concurrency": 3436, + "session_affinity": True, }, "traffic": [ { @@ -3757,6 +3783,7 @@ def test_update_service_rest(request_type): } ], "uri": "uri_value", + "satisfies_pzs": True, "reconciling": True, "etag": "etag_value", } @@ -3991,7 +4018,11 @@ def test_update_service_rest_bad_request( }, } ], - "resources": {"limits": {}, "cpu_idle": True}, + "resources": { + "limits": {}, + "cpu_idle": True, + "startup_cpu_boost": True, + }, "ports": [{"name": "name_value", "container_port": 1511}], "volume_mounts": [ {"name": "name_value", "mount_path": "mount_path_value"} @@ -4007,6 +4038,7 @@ def test_update_service_rest_bad_request( "http_headers": [ {"name": "name_value", "value": "value_value"} ], + "port": 453, }, "tcp_socket": {"port": 453}, "grpc": {"port": 453, "service": "service_value"}, @@ -4036,6 +4068,7 @@ def test_update_service_rest_bad_request( "execution_environment": 1, "encryption_key": "encryption_key_value", "max_instance_request_concurrency": 3436, + "session_affinity": True, }, "traffic": [ { @@ -4069,6 +4102,7 @@ def test_update_service_rest_bad_request( } ], "uri": "uri_value", + "satisfies_pzs": True, "reconciling": True, "etag": "etag_value", } diff --git a/tests/unit/gapic/run_v2/test_tasks.py b/tests/unit/gapic/run_v2/test_tasks.py index c0bbf29..dd3cd57 100644 --- a/tests/unit/gapic/run_v2/test_tasks.py +++ b/tests/unit/gapic/run_v2/test_tasks.py @@ -697,6 +697,7 @@ def test_get_task(request_type, transport: str = "grpc"): retried=751, encryption_key="encryption_key_value", log_uri="log_uri_value", + satisfies_pzs=True, etag="etag_value", ) response = client.get_task(request) @@ -725,6 +726,7 @@ def test_get_task(request_type, transport: str = "grpc"): assert response.retried == 751 assert response.encryption_key == "encryption_key_value" assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -776,6 +778,7 @@ async def test_get_task_async( retried=751, encryption_key="encryption_key_value", log_uri="log_uri_value", + satisfies_pzs=True, etag="etag_value", ) ) @@ -805,6 +808,7 @@ async def test_get_task_async( assert response.retried == 751 assert response.encryption_key == "encryption_key_value" assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True assert response.etag == "etag_value" @@ -1409,6 +1413,7 @@ def test_get_task_rest(request_type): retried=751, encryption_key="encryption_key_value", log_uri="log_uri_value", + satisfies_pzs=True, etag="etag_value", ) @@ -1441,6 +1446,7 @@ def test_get_task_rest(request_type): assert response.retried == 751 assert response.encryption_key == "encryption_key_value" assert response.log_uri == "log_uri_value" + assert response.satisfies_pzs is True assert response.etag == "etag_value" From 9740ab8ff5ca9844958eb1501f0f6c7eb3a74ae2 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 25 May 2023 16:18:12 +0000 Subject: [PATCH 2/3] build(deps): bump requests to 2.31.0 [autoapprove] (#100) Source-Link: https://togithub.com/googleapis/synthtool/commit/30bd01b4ab78bf1b2a425816e15b3e7e090993dd Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:9bc5fa3b62b091f60614c08a7fb4fd1d3e1678e326f34dd66ce1eefb5dc3267b --- .github/.OwlBot.lock.yaml | 3 ++- .kokoro/requirements.txt | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index b8edda5..32b3c48 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:2e247c7bf5154df7f98cce087a20ca7605e236340c7d6d1a14447e5c06791bd6 + digest: sha256:9bc5fa3b62b091f60614c08a7fb4fd1d3e1678e326f34dd66ce1eefb5dc3267b +# created: 2023-05-25T14:56:16.294623272Z diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index 66a2172..3b8d7ee 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -419,9 +419,9 @@ readme-renderer==37.3 \ --hash=sha256:cd653186dfc73055656f090f227f5cb22a046d7f71a841dfa305f55c9a513273 \ --hash=sha256:f67a16caedfa71eef48a31b39708637a6f4664c4394801a7b0d6432d13907343 # via twine -requests==2.28.1 \ - --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \ - --hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 +requests==2.31.0 \ + --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \ + --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1 # via # gcp-releasetool # google-api-core From c635f86318378e70bc0df529f6d96b8ace1ddb0c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 31 May 2023 14:04:44 -0400 Subject: [PATCH 3/3] chore(main): release 0.8.0 (#97) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 15 +++++++++++++++ google/cloud/run/gapic_version.py | 2 +- google/cloud/run_v2/gapic_version.py | 2 +- .../snippet_metadata_google.cloud.run.v2.json | 2 +- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 13708fa..64f3cdd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.7.1" + ".": "0.8.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index fafe6ce..5583ef5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.8.0](https://github.com/googleapis/python-run/compare/v0.7.1...v0.8.0) (2023-05-25) + + +### Features + +* Adds support for Session affinity in Service (GA) ([c907927](https://github.com/googleapis/python-run/commit/c907927b59079867825954786192954293aa6184)) +* Adds support for Startup CPU Boost (GA) ([c907927](https://github.com/googleapis/python-run/commit/c907927b59079867825954786192954293aa6184)) +* New 'port' field for HttpGetAction probe type ([c907927](https://github.com/googleapis/python-run/commit/c907927b59079867825954786192954293aa6184)) +* New fields/enum values ([c907927](https://github.com/googleapis/python-run/commit/c907927b59079867825954786192954293aa6184)) + + +### Documentation + +* General documentation fixes. ([c907927](https://github.com/googleapis/python-run/commit/c907927b59079867825954786192954293aa6184)) + ## [0.7.1](https://github.com/googleapis/python-run/compare/v0.7.0...v0.7.1) (2023-03-23) diff --git a/google/cloud/run/gapic_version.py b/google/cloud/run/gapic_version.py index e46fba6..b88d7a7 100644 --- a/google/cloud/run/gapic_version.py +++ b/google/cloud/run/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.7.1" # {x-release-please-version} +__version__ = "0.8.0" # {x-release-please-version} diff --git a/google/cloud/run_v2/gapic_version.py b/google/cloud/run_v2/gapic_version.py index e46fba6..b88d7a7 100644 --- a/google/cloud/run_v2/gapic_version.py +++ b/google/cloud/run_v2/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.7.1" # {x-release-please-version} +__version__ = "0.8.0" # {x-release-please-version} diff --git a/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json b/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json index da84c85..5815e3e 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.run.v2.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-run", - "version": "0.1.0" + "version": "0.8.0" }, "snippets": [ {