diff --git a/packages/google-cloud-alloydb/.flake8 b/packages/google-cloud-alloydb/.flake8 index 2e438749863d..87f6e408c47d 100644 --- a/packages/google-cloud-alloydb/.flake8 +++ b/packages/google-cloud-alloydb/.flake8 @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2020 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-alloydb/CONTRIBUTING.rst b/packages/google-cloud-alloydb/CONTRIBUTING.rst index d7353cddcc6e..abc93b942c32 100644 --- a/packages/google-cloud-alloydb/CONTRIBUTING.rst +++ b/packages/google-cloud-alloydb/CONTRIBUTING.rst @@ -236,7 +236,7 @@ We support: Supported versions can be found in our ``noxfile.py`` `config`_. -.. _config: https://github.com/googleapis/google-cloud-python/blob/main/noxfile.py +.. _config: https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-alloydb/noxfile.py ********** diff --git a/packages/google-cloud-alloydb/MANIFEST.in b/packages/google-cloud-alloydb/MANIFEST.in index e783f4c6209b..e0a66705318e 100644 --- a/packages/google-cloud-alloydb/MANIFEST.in +++ b/packages/google-cloud-alloydb/MANIFEST.in @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2020 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-alloydb/README.rst b/packages/google-cloud-alloydb/README.rst index 690405d2b972..dbc6e53e435e 100644 --- a/packages/google-cloud-alloydb/README.rst +++ b/packages/google-cloud-alloydb/README.rst @@ -36,21 +36,24 @@ In order to use this library, you first need to go through the following steps: Installation ~~~~~~~~~~~~ -Install this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to -create isolated Python environments. The basic problem it addresses is one of -dependencies and versions, and indirectly permissions. +Install this library in a virtual environment using `venv`_. `venv`_ is a tool that +creates isolated Python environments. These isolated environments can have separate +versions of Python packages, which allows you to isolate one project's dependencies +from the dependencies of other projects. -With `virtualenv`_, it's possible to install this library without needing system +With `venv`_, it's possible to install this library without needing system install permissions, and without clashing with the installed system dependencies. -.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/ +.. _`venv`: https://docs.python.org/3/library/venv.html Code samples and snippets ~~~~~~~~~~~~~~~~~~~~~~~~~ -Code samples and snippets live in the `samples/` folder. +Code samples and snippets live in the `samples/`_ folder. + +.. _samples/: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-alloydb/samples Supported Python Versions @@ -77,10 +80,9 @@ Mac/Linux .. code-block:: console - pip install virtualenv - virtualenv + python3 -m venv source /bin/activate - /bin/pip install google-cloud-alloydb + pip install google-cloud-alloydb Windows @@ -88,10 +90,9 @@ Windows .. code-block:: console - pip install virtualenv - virtualenv - \Scripts\activate - \Scripts\pip.exe install google-cloud-alloydb + py -m venv + .\\Scripts\activate + pip install google-cloud-alloydb Next Steps ~~~~~~~~~~ diff --git a/packages/google-cloud-alloydb/docs/conf.py b/packages/google-cloud-alloydb/docs/conf.py index 8b330b2a3459..3424ec8d500e 100644 --- a/packages/google-cloud-alloydb/docs/conf.py +++ b/packages/google-cloud-alloydb/docs/conf.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2021 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb/gapic_version.py b/packages/google-cloud-alloydb/google/cloud/alloydb/gapic_version.py index 14bfd0fce7ce..360a0d13ebdd 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb/gapic_version.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.3.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/gapic_version.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/gapic_version.py index 14bfd0fce7ce..360a0d13ebdd 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/gapic_version.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.3.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/async_client.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/async_client.py index 52e6810ae5cd..5ecbf9cc49ff 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/async_client.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/async_client.py @@ -47,7 +47,7 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore @@ -3334,6 +3334,7 @@ async def sample_list_users(): Returns: google.cloud.alloydb_v1.services.alloy_db_admin.pagers.ListUsersAsyncPager: Message for response to listing Users + Iterating over this object will yield results and resolve additional pages automatically. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/client.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/client.py index 4912e94cd8f1..c80fe2cce1ad 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/client.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/client.py @@ -51,7 +51,7 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore @@ -3627,6 +3627,7 @@ def sample_list_users(): Returns: google.cloud.alloydb_v1.services.alloy_db_admin.pagers.ListUsersPager: Message for response to listing Users + Iterating over this object will yield results and resolve additional pages automatically. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/transports/rest.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/transports/rest.py index 9268e289ae54..2a7bef1fa628 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/transports/rest.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/services/alloy_db_admin/transports/rest.py @@ -35,7 +35,6 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 from google.protobuf import json_format import grpc # type: ignore from requests import __version__ as requests_version diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/resources.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/resources.py index 0f4cc3f298ff..349be55039f8 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/resources.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/resources.py @@ -141,8 +141,7 @@ class MigrationSource(proto.Message): Attributes: host_port (str): Output only. The host and port of the - on-premises instance in host:port - format + on-premises instance in host:port format reference_id (str): Output only. Place holder for the external source identifier(e.g DMS job name) that created @@ -366,6 +365,7 @@ class AutomatedBackupPolicy(proto.Message): The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster. + If empty, defaults to the region of the cluster. labels (MutableMapping[str, str]): Labels to apply to backups created using this @@ -387,10 +387,12 @@ class WeeklySchedule(proto.Message): The times during the day to start a backup. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). + If no start times are provided, a single fixed start time is chosen arbitrarily. days_of_week (MutableSequence[google.type.dayofweek_pb2.DayOfWeek]): The days of the week to perform a backup. + If this field is left empty, the default of every day of the week is used. """ @@ -492,10 +494,11 @@ class ContinuousBackupConfig(proto.Message): This field is a member of `oneof`_ ``_enabled``. recovery_window_days (int): - The number of days backups and logs will be - retained, which determines the window of time - that data is recoverable for. If not set, it - defaults to 14 days. + The number of days that are eligible to + restore from using PITR. To support the entire + recovery window, backups and logs are retained + for one day more than the recovery window. If + not set, defaults to 14 days. encryption_config (google.cloud.alloydb_v1.types.EncryptionConfig): The encryption config can be specified to encrypt the backups with a customer-managed @@ -673,18 +676,21 @@ class Cluster(proto.Message): which RPC was used to create the cluster (i.e. ``CreateCluster`` vs. ``CreateSecondaryCluster`` database_version (google.cloud.alloydb_v1.types.DatabaseVersion): - Output only. The database engine major - version. This is an output-only field and it's - populated at the Cluster creation time. This - field cannot be changed after cluster creation. + Optional. The database engine major version. + This is an optional field and it is populated at + the Cluster creation time. If a database version + is not supplied at cluster creation time, then a + default database version will be used. + network_config (google.cloud.alloydb_v1.types.Cluster.NetworkConfig): + network (str): Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: - "projects/{project_number}/global/networks/{network_id}". - This is required to create a cluster. It can be updated, but - it cannot be removed. + "projects/{project}/global/networks/{network_id}". This is + required to create a cluster. Deprecated, use + network_config.network instead. etag (str): For Resource freshness validation (https://google.aip.dev/154) @@ -694,18 +700,19 @@ class Cluster(proto.Message): from labels. https://google.aip.dev/128 reconciling (bool): Output only. Reconciling - (https://google.aip.dev/128#reconciliation). - Set to true if the current state of Cluster does - not match the user's intended state, and the - service is actively updating the resource to - reconcile them. This can happen due to - user-triggered updates or system actions like - failover or maintenance. + (https://google.aip.dev/128#reconciliation). Set + to true if the current state of Cluster does not + match the user's intended state, and the service + is actively updating the resource to reconcile + them. This can happen due to user-triggered + updates or system actions like failover or + maintenance. initial_user (google.cloud.alloydb_v1.types.UserPassword): Input only. Initial user to setup during cluster creation. Required. If used in ``RestoreCluster`` this is ignored. automated_backup_policy (google.cloud.alloydb_v1.types.AutomatedBackupPolicy): The automated backup policy for this cluster. + If no policy is provided then the default policy will be used. If backups are supported for the cluster, the default policy takes one backup a @@ -807,6 +814,37 @@ class ClusterType(proto.Enum): PRIMARY = 1 SECONDARY = 2 + class NetworkConfig(proto.Message): + r"""Metadata related to network configuration. + + Attributes: + network (str): + Required. The resource link for the VPC network in which + cluster resources are created and from which they are + accessible via Private IP. The network must belong to the + same project as the cluster. It is specified in the form: + "projects/{project_number}/global/networks/{network_id}". + This is required to create a cluster. + allocated_ip_range (str): + Optional. Name of the allocated IP range for the private IP + AlloyDB cluster, for example: + "google-managed-services-default". If set, the instance IPs + for this cluster will be created in the allocated range. The + range name must comply with RFC 1035. Specifically, the name + must be 1-63 characters long and match the regular + expression `a-z <[-a-z0-9]*[a-z0-9]>`__?. Field name is + intended to be consistent with CloudSQL. + """ + + network: str = proto.Field( + proto.STRING, + number=1, + ) + allocated_ip_range: str = proto.Field( + proto.STRING, + number=2, + ) + class SecondaryConfig(proto.Message): r"""Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY. @@ -898,6 +936,11 @@ class PrimaryConfig(proto.Message): number=9, enum="DatabaseVersion", ) + network_config: NetworkConfig = proto.Field( + proto.MESSAGE, + number=29, + message=NetworkConfig, + ) network: str = proto.Field( proto.STRING, number=10, @@ -1056,10 +1099,10 @@ class Instance(proto.Message): application. reconciling (bool): Output only. Reconciling - (https://google.aip.dev/128#reconciliation). - Set to true if the current state of Instance - does not match the user's intended state, and - the service is actively updating the resource to + (https://google.aip.dev/128#reconciliation). Set + to true if the current state of Instance does + not match the user's intended state, and the + service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance. @@ -1070,6 +1113,9 @@ class Instance(proto.Message): Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 + client_connection_config (google.cloud.alloydb_v1.types.Instance.ClientConnectionConfig): + Optional. Client connection specific + configurations """ class State(proto.Enum): @@ -1279,6 +1325,29 @@ class ReadPoolConfig(proto.Message): number=1, ) + class ClientConnectionConfig(proto.Message): + r"""Client connection configuration + + Attributes: + require_connectors (bool): + Optional. Configuration to enforce connectors + only (ex: AuthProxy) connections to the + database. + ssl_config (google.cloud.alloydb_v1.types.SslConfig): + Optional. SSL config option for this + instance. + """ + + require_connectors: bool = proto.Field( + proto.BOOL, + number=1, + ) + ssl_config: "SslConfig" = proto.Field( + proto.MESSAGE, + number=2, + message="SslConfig", + ) + name: str = proto.Field( proto.STRING, number=1, @@ -1377,6 +1446,11 @@ class ReadPoolConfig(proto.Message): proto.STRING, number=18, ) + client_connection_config: ClientConnectionConfig = proto.Field( + proto.MESSAGE, + number=23, + message=ClientConnectionConfig, + ) class Backup(proto.Message): @@ -1457,6 +1531,17 @@ class Backup(proto.Message): to be garbage collected. It is the duration specified by the backup's retention policy, added to the backup's create_time. + expiry_quantity (google.cloud.alloydb_v1.types.Backup.QuantityBasedExpiry): + Output only. The QuantityBasedExpiry of the + backup, specified by the backup's retention + policy. Once the expiry quantity is over + retention, the backup is eligible to be garbage + collected. + database_version (google.cloud.alloydb_v1.types.DatabaseVersion): + Output only. The database engine major + version of the cluster this backup was created + from. Any restored cluster created from this + backup will have the same database version. """ class State(proto.Enum): @@ -1503,6 +1588,41 @@ class Type(proto.Enum): AUTOMATED = 2 CONTINUOUS = 3 + class QuantityBasedExpiry(proto.Message): + r"""A backup's position in a quantity-based retention queue, of backups + with the same source cluster and type, with length, retention, + specified by the backup's retention policy. Once the position is + greater than the retention, the backup is eligible to be garbage + collected. + + Example: 5 backups from the same source cluster and type with a + quantity-based retention of 3 and denoted by backup_id (position, + retention). + + Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting + garbage collection: backup_2 (4, 3), backup_1 (5, 3) + + Attributes: + retention_count (int): + Output only. The backup's position among its + backups with the same source cluster and type, + by descending chronological order create + time(i.e. newest first). + total_retention_count (int): + Output only. The length of the quantity-based + queue, specified by the backup's retention + policy. + """ + + retention_count: int = proto.Field( + proto.INT32, + number=1, + ) + total_retention_count: int = proto.Field( + proto.INT32, + number=2, + ) + name: str = proto.Field( proto.STRING, number=1, @@ -1589,6 +1709,16 @@ class Type(proto.Enum): number=19, message=timestamp_pb2.Timestamp, ) + expiry_quantity: QuantityBasedExpiry = proto.Field( + proto.MESSAGE, + number=20, + message=QuantityBasedExpiry, + ) + database_version: "DatabaseVersion" = proto.Field( + proto.ENUM, + number=22, + enum="DatabaseVersion", + ) class SupportedDatabaseFlag(proto.Message): diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/service.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/service.py index 55789cce81f8..f9cc801d3da3 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/service.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1/types/service.py @@ -194,6 +194,7 @@ class CreateSecondaryClusterRequest(proto.Message): 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 @@ -202,6 +203,7 @@ class CreateSecondaryClusterRequest(proto.Message): 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). @@ -254,6 +256,7 @@ class CreateClusterRequest(proto.Message): 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 @@ -262,6 +265,7 @@ class CreateClusterRequest(proto.Message): 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). @@ -315,6 +319,7 @@ class UpdateClusterRequest(proto.Message): 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 @@ -323,6 +328,7 @@ class UpdateClusterRequest(proto.Message): 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). @@ -376,6 +382,7 @@ class DeleteClusterRequest(proto.Message): 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 @@ -384,6 +391,7 @@ class DeleteClusterRequest(proto.Message): 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). @@ -439,6 +447,7 @@ class PromoteClusterRequest(proto.Message): 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 @@ -447,6 +456,7 @@ class PromoteClusterRequest(proto.Message): 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). @@ -517,6 +527,7 @@ class RestoreClusterRequest(proto.Message): 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 @@ -525,6 +536,7 @@ class RestoreClusterRequest(proto.Message): 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). @@ -692,6 +704,7 @@ class CreateInstanceRequest(proto.Message): 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 @@ -700,6 +713,7 @@ class CreateInstanceRequest(proto.Message): 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). @@ -752,6 +766,7 @@ class CreateSecondaryInstanceRequest(proto.Message): 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 @@ -760,6 +775,7 @@ class CreateSecondaryInstanceRequest(proto.Message): 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). @@ -827,6 +843,7 @@ class BatchCreateInstancesRequest(proto.Message): 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 @@ -835,6 +852,7 @@ class BatchCreateInstancesRequest(proto.Message): 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). @@ -1024,6 +1042,7 @@ class UpdateInstanceRequest(proto.Message): 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 @@ -1032,6 +1051,7 @@ class UpdateInstanceRequest(proto.Message): 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). @@ -1085,6 +1105,7 @@ class DeleteInstanceRequest(proto.Message): 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 @@ -1093,6 +1114,7 @@ class DeleteInstanceRequest(proto.Message): 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). @@ -1141,6 +1163,7 @@ class FailoverInstanceRequest(proto.Message): 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 @@ -1149,6 +1172,7 @@ class FailoverInstanceRequest(proto.Message): 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). @@ -1191,6 +1215,7 @@ class InjectFaultRequest(proto.Message): 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 @@ -1199,6 +1224,7 @@ class InjectFaultRequest(proto.Message): 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). @@ -1256,6 +1282,7 @@ class RestartInstanceRequest(proto.Message): 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 @@ -1264,6 +1291,7 @@ class RestartInstanceRequest(proto.Message): 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). @@ -1392,6 +1420,7 @@ class CreateBackupRequest(proto.Message): 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 @@ -1400,6 +1429,7 @@ class CreateBackupRequest(proto.Message): 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). @@ -1451,6 +1481,7 @@ class UpdateBackupRequest(proto.Message): 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 @@ -1459,6 +1490,7 @@ class UpdateBackupRequest(proto.Message): 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). @@ -1510,6 +1542,7 @@ class DeleteBackupRequest(proto.Message): 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 @@ -1518,6 +1551,7 @@ class DeleteBackupRequest(proto.Message): 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). @@ -1797,6 +1831,7 @@ class CreateUserRequest(proto.Message): 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 @@ -1805,6 +1840,7 @@ class CreateUserRequest(proto.Message): 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). @@ -1856,6 +1892,7 @@ class UpdateUserRequest(proto.Message): 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 @@ -1864,6 +1901,7 @@ class UpdateUserRequest(proto.Message): 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). @@ -1914,6 +1952,7 @@ class DeleteUserRequest(proto.Message): 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 @@ -1922,6 +1961,7 @@ class DeleteUserRequest(proto.Message): 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). diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/gapic_version.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/gapic_version.py index 14bfd0fce7ce..360a0d13ebdd 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/gapic_version.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.3.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/async_client.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/async_client.py index 1280ba04266a..48da4f7865b9 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/async_client.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/async_client.py @@ -47,7 +47,7 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore @@ -3445,7 +3445,6 @@ async def sample_get_connection_info(): parent (:class:`str`): Required. The name of the parent resource. The required format is: - projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance} This corresponds to the ``parent`` field @@ -3571,6 +3570,7 @@ async def sample_list_users(): Returns: google.cloud.alloydb_v1alpha.services.alloy_db_admin.pagers.ListUsersAsyncPager: Message for response to listing Users + Iterating over this object will yield results and resolve additional pages automatically. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/client.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/client.py index b27c51e8ece7..7f7a61cfd125 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/client.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/client.py @@ -51,7 +51,7 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore @@ -3751,7 +3751,6 @@ def sample_get_connection_info(): parent (str): Required. The name of the parent resource. The required format is: - projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance} This corresponds to the ``parent`` field @@ -3868,6 +3867,7 @@ def sample_list_users(): Returns: google.cloud.alloydb_v1alpha.services.alloy_db_admin.pagers.ListUsersPager: Message for response to listing Users + Iterating over this object will yield results and resolve additional pages automatically. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/transports/rest.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/transports/rest.py index c950042d0c52..600448da403b 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/transports/rest.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/services/alloy_db_admin/transports/rest.py @@ -35,7 +35,6 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 from google.protobuf import json_format import grpc # type: ignore from requests import __version__ as requests_version diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/resources.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/resources.py index c04f999569f5..bc210f3a2a00 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/resources.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/resources.py @@ -142,8 +142,7 @@ class MigrationSource(proto.Message): Attributes: host_port (str): Output only. The host and port of the - on-premises instance in host:port - format + on-premises instance in host:port format reference_id (str): Output only. Place holder for the external source identifier(e.g DMS job name) that created @@ -367,6 +366,7 @@ class AutomatedBackupPolicy(proto.Message): The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster. + If empty, defaults to the region of the cluster. labels (MutableMapping[str, str]): Labels to apply to backups created using this @@ -388,10 +388,12 @@ class WeeklySchedule(proto.Message): The times during the day to start a backup. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). + If no start times are provided, a single fixed start time is chosen arbitrarily. days_of_week (MutableSequence[google.type.dayofweek_pb2.DayOfWeek]): The days of the week to perform a backup. + If this field is left empty, the default of every day of the week is used. """ @@ -699,18 +701,19 @@ class Cluster(proto.Message): from labels. https://google.aip.dev/128 reconciling (bool): Output only. Reconciling - (https://google.aip.dev/128#reconciliation). - Set to true if the current state of Cluster does - not match the user's intended state, and the - service is actively updating the resource to - reconcile them. This can happen due to - user-triggered updates or system actions like - failover or maintenance. + (https://google.aip.dev/128#reconciliation). Set + to true if the current state of Cluster does not + match the user's intended state, and the service + is actively updating the resource to reconcile + them. This can happen due to user-triggered + updates or system actions like failover or + maintenance. initial_user (google.cloud.alloydb_v1alpha.types.UserPassword): Input only. Initial user to setup during cluster creation. Required. If used in ``RestoreCluster`` this is ignored. automated_backup_policy (google.cloud.alloydb_v1alpha.types.AutomatedBackupPolicy): The automated backup policy for this cluster. + If no policy is provided then the default policy will be used. If backups are supported for the cluster, the default policy takes one backup a @@ -1104,10 +1107,10 @@ class Instance(proto.Message): application. reconciling (bool): Output only. Reconciling - (https://google.aip.dev/128#reconciliation). - Set to true if the current state of Instance - does not match the user's intended state, and - the service is actively updating the resource to + (https://google.aip.dev/128#reconciliation). Set + to true if the current state of Instance does + not match the user's intended state, and the + service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/service.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/service.py index 249dae8b65d9..9f9aa79a6e48 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/service.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1alpha/types/service.py @@ -198,6 +198,7 @@ class CreateSecondaryClusterRequest(proto.Message): 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 @@ -206,6 +207,7 @@ class CreateSecondaryClusterRequest(proto.Message): 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). @@ -258,6 +260,7 @@ class CreateClusterRequest(proto.Message): 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 @@ -266,6 +269,7 @@ class CreateClusterRequest(proto.Message): 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). @@ -319,6 +323,7 @@ class UpdateClusterRequest(proto.Message): 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 @@ -327,6 +332,7 @@ class UpdateClusterRequest(proto.Message): 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). @@ -380,6 +386,7 @@ class DeleteClusterRequest(proto.Message): 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 @@ -388,6 +395,7 @@ class DeleteClusterRequest(proto.Message): 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). @@ -443,6 +451,7 @@ class PromoteClusterRequest(proto.Message): 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 @@ -451,6 +460,7 @@ class PromoteClusterRequest(proto.Message): 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). @@ -521,6 +531,7 @@ class RestoreClusterRequest(proto.Message): 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 @@ -529,6 +540,7 @@ class RestoreClusterRequest(proto.Message): 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). @@ -696,6 +708,7 @@ class CreateInstanceRequest(proto.Message): 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 @@ -704,6 +717,7 @@ class CreateInstanceRequest(proto.Message): 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). @@ -756,6 +770,7 @@ class CreateSecondaryInstanceRequest(proto.Message): 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 @@ -764,6 +779,7 @@ class CreateSecondaryInstanceRequest(proto.Message): 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). @@ -831,6 +847,7 @@ class BatchCreateInstancesRequest(proto.Message): 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 @@ -839,6 +856,7 @@ class BatchCreateInstancesRequest(proto.Message): 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). @@ -1028,6 +1046,7 @@ class UpdateInstanceRequest(proto.Message): 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 @@ -1036,6 +1055,7 @@ class UpdateInstanceRequest(proto.Message): 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). @@ -1089,6 +1109,7 @@ class DeleteInstanceRequest(proto.Message): 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 @@ -1097,6 +1118,7 @@ class DeleteInstanceRequest(proto.Message): 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). @@ -1145,6 +1167,7 @@ class FailoverInstanceRequest(proto.Message): 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 @@ -1153,6 +1176,7 @@ class FailoverInstanceRequest(proto.Message): 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). @@ -1195,6 +1219,7 @@ class InjectFaultRequest(proto.Message): 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 @@ -1203,6 +1228,7 @@ class InjectFaultRequest(proto.Message): 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). @@ -1260,6 +1286,7 @@ class RestartInstanceRequest(proto.Message): 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 @@ -1268,6 +1295,7 @@ class RestartInstanceRequest(proto.Message): 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). @@ -1396,6 +1424,7 @@ class CreateBackupRequest(proto.Message): 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 @@ -1404,6 +1433,7 @@ class CreateBackupRequest(proto.Message): 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). @@ -1455,6 +1485,7 @@ class UpdateBackupRequest(proto.Message): 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 @@ -1463,6 +1494,7 @@ class UpdateBackupRequest(proto.Message): 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). @@ -1514,6 +1546,7 @@ class DeleteBackupRequest(proto.Message): 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 @@ -1522,6 +1555,7 @@ class DeleteBackupRequest(proto.Message): 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). @@ -1636,6 +1670,7 @@ class GenerateClientCertificateRequest(proto.Message): 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 @@ -1644,6 +1679,7 @@ class GenerateClientCertificateRequest(proto.Message): 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). @@ -1732,7 +1768,6 @@ class GetConnectionInfoRequest(proto.Message): parent (str): Required. The name of the parent resource. The required format is: - projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance} request_id (str): Optional. An optional request ID to identify @@ -1741,6 +1776,7 @@ class GetConnectionInfoRequest(proto.Message): 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 @@ -1749,6 +1785,7 @@ class GetConnectionInfoRequest(proto.Message): 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). @@ -1946,6 +1983,7 @@ class CreateUserRequest(proto.Message): 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 @@ -1954,6 +1992,7 @@ class CreateUserRequest(proto.Message): 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). @@ -2005,6 +2044,7 @@ class UpdateUserRequest(proto.Message): 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 @@ -2013,6 +2053,7 @@ class UpdateUserRequest(proto.Message): 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). @@ -2063,6 +2104,7 @@ class DeleteUserRequest(proto.Message): 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 @@ -2071,6 +2113,7 @@ class DeleteUserRequest(proto.Message): 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). diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/gapic_version.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/gapic_version.py index 14bfd0fce7ce..360a0d13ebdd 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/gapic_version.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "0.3.0" # {x-release-please-version} +__version__ = "0.0.0" # {x-release-please-version} diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/async_client.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/async_client.py index 80a8462064d4..4700ea8eb534 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/async_client.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/async_client.py @@ -47,7 +47,7 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore @@ -3291,11 +3291,12 @@ async def generate_client_certificate( metadata: Sequence[Tuple[str, str]] = (), ) -> service.GenerateClientCertificateResponse: r"""Generate a client certificate signed by a Cluster CA. - The sole purpose of this endpoint is to support the Auth - Proxy client and the endpoint's behavior is subject to - change without notice, so do not rely on its behavior - remaining constant. Future changes will not break the - Auth Proxy client. + The sole purpose of this endpoint is to support AlloyDB + connectors and the Auth Proxy client. The endpoint's + behavior is subject to change without notice, so do not + rely on its behavior remaining constant. Future changes + will not break AlloyDB connectors or the Auth Proxy + client. .. code-block:: python @@ -3444,7 +3445,6 @@ async def sample_get_connection_info(): parent (:class:`str`): Required. The name of the parent resource. The required format is: - projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance} This corresponds to the ``parent`` field @@ -3570,6 +3570,7 @@ async def sample_list_users(): Returns: google.cloud.alloydb_v1beta.services.alloy_db_admin.pagers.ListUsersAsyncPager: Message for response to listing Users + Iterating over this object will yield results and resolve additional pages automatically. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/client.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/client.py index ddafb9eb4dc4..70c2820227c3 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/client.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/client.py @@ -51,7 +51,7 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore from google.protobuf import field_mask_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore @@ -3604,11 +3604,12 @@ def generate_client_certificate( metadata: Sequence[Tuple[str, str]] = (), ) -> service.GenerateClientCertificateResponse: r"""Generate a client certificate signed by a Cluster CA. - The sole purpose of this endpoint is to support the Auth - Proxy client and the endpoint's behavior is subject to - change without notice, so do not rely on its behavior - remaining constant. Future changes will not break the - Auth Proxy client. + The sole purpose of this endpoint is to support AlloyDB + connectors and the Auth Proxy client. The endpoint's + behavior is subject to change without notice, so do not + rely on its behavior remaining constant. Future changes + will not break AlloyDB connectors or the Auth Proxy + client. .. code-block:: python @@ -3750,7 +3751,6 @@ def sample_get_connection_info(): parent (str): Required. The name of the parent resource. The required format is: - projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance} This corresponds to the ``parent`` field @@ -3867,6 +3867,7 @@ def sample_list_users(): Returns: google.cloud.alloydb_v1beta.services.alloy_db_admin.pagers.ListUsersPager: Message for response to listing Users + Iterating over this object will yield results and resolve additional pages automatically. diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc.py index 208c31eccd7d..086f0353abac 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc.py @@ -910,11 +910,12 @@ def generate_client_certificate( r"""Return a callable for the generate client certificate method over gRPC. Generate a client certificate signed by a Cluster CA. - The sole purpose of this endpoint is to support the Auth - Proxy client and the endpoint's behavior is subject to - change without notice, so do not rely on its behavior - remaining constant. Future changes will not break the - Auth Proxy client. + The sole purpose of this endpoint is to support AlloyDB + connectors and the Auth Proxy client. The endpoint's + behavior is subject to change without notice, so do not + rely on its behavior remaining constant. Future changes + will not break AlloyDB connectors or the Auth Proxy + client. Returns: Callable[[~.GenerateClientCertificateRequest], diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc_asyncio.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc_asyncio.py index 53e5f599d210..f02f4fd2e5b4 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc_asyncio.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/grpc_asyncio.py @@ -933,11 +933,12 @@ def generate_client_certificate( r"""Return a callable for the generate client certificate method over gRPC. Generate a client certificate signed by a Cluster CA. - The sole purpose of this endpoint is to support the Auth - Proxy client and the endpoint's behavior is subject to - change without notice, so do not rely on its behavior - remaining constant. Future changes will not break the - Auth Proxy client. + The sole purpose of this endpoint is to support AlloyDB + connectors and the Auth Proxy client. The endpoint's + behavior is subject to change without notice, so do not + rely on its behavior remaining constant. Future changes + will not break AlloyDB connectors or the Auth Proxy + client. Returns: Callable[[~.GenerateClientCertificateRequest], diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/rest.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/rest.py index 54206cf96abe..918a6ba2d487 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/rest.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/services/alloy_db_admin/transports/rest.py @@ -35,7 +35,6 @@ from google.cloud.location import locations_pb2 # type: ignore from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 from google.protobuf import json_format import grpc # type: ignore from requests import __version__ as requests_version diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/resources.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/resources.py index 0911559775a8..5409a6415ad5 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/resources.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/resources.py @@ -108,10 +108,13 @@ class DatabaseVersion(proto.Enum): 13. POSTGRES_14 (2): The database version is Postgres 14. + POSTGRES_15 (3): + The database version is Postgres 15. """ DATABASE_VERSION_UNSPECIFIED = 0 POSTGRES_13 = 1 POSTGRES_14 = 2 + POSTGRES_15 = 3 class UserPassword(proto.Message): @@ -142,8 +145,7 @@ class MigrationSource(proto.Message): Attributes: host_port (str): Output only. The host and port of the - on-premises instance in host:port - format + on-premises instance in host:port format reference_id (str): Output only. Place holder for the external source identifier(e.g DMS job name) that created @@ -367,6 +369,7 @@ class AutomatedBackupPolicy(proto.Message): The location where the backup will be stored. Currently, the only supported option is to store the backup in the same region as the cluster. + If empty, defaults to the region of the cluster. labels (MutableMapping[str, str]): Labels to apply to backups created using this @@ -388,10 +391,12 @@ class WeeklySchedule(proto.Message): The times during the day to start a backup. The start times are assumed to be in UTC and to be an exact hour (e.g., 04:00:00). + If no start times are provided, a single fixed start time is chosen arbitrarily. days_of_week (MutableSequence[google.type.dayofweek_pb2.DayOfWeek]): The days of the week to perform a backup. + If this field is left empty, the default of every day of the week is used. """ @@ -493,10 +498,11 @@ class ContinuousBackupConfig(proto.Message): This field is a member of `oneof`_ ``_enabled``. recovery_window_days (int): - The number of days backups and logs will be - retained, which determines the window of time - that data is recoverable for. If not set, it - defaults to 14 days. + The number of days that are eligible to + restore from using PITR. To support the entire + recovery window, backups and logs are retained + for one day more than the recovery window. If + not set, defaults to 14 days. encryption_config (google.cloud.alloydb_v1beta.types.EncryptionConfig): The encryption config can be specified to encrypt the backups with a customer-managed @@ -674,10 +680,11 @@ class Cluster(proto.Message): which RPC was used to create the cluster (i.e. ``CreateCluster`` vs. ``CreateSecondaryCluster`` database_version (google.cloud.alloydb_v1beta.types.DatabaseVersion): - Output only. The database engine major - version. This is an output-only field and it's - populated at the Cluster creation time. This - field cannot be changed after cluster creation. + Optional. The database engine major version. + This is an optional field and it is populated at + the Cluster creation time. If a database version + is not supplied at cluster creation time, then a + default database version will be used. network_config (google.cloud.alloydb_v1beta.types.Cluster.NetworkConfig): network (str): @@ -685,9 +692,9 @@ class Cluster(proto.Message): cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: - "projects/{project_number}/global/networks/{network_id}". - This is required to create a cluster. It can be updated, but - it cannot be removed. + "projects/{project}/global/networks/{network_id}". This is + required to create a cluster. Deprecated, use + network_config.network instead. etag (str): For Resource freshness validation (https://google.aip.dev/154) @@ -697,18 +704,19 @@ class Cluster(proto.Message): from labels. https://google.aip.dev/128 reconciling (bool): Output only. Reconciling - (https://google.aip.dev/128#reconciliation). - Set to true if the current state of Cluster does - not match the user's intended state, and the - service is actively updating the resource to - reconcile them. This can happen due to - user-triggered updates or system actions like - failover or maintenance. + (https://google.aip.dev/128#reconciliation). Set + to true if the current state of Cluster does not + match the user's intended state, and the service + is actively updating the resource to reconcile + them. This can happen due to user-triggered + updates or system actions like failover or + maintenance. initial_user (google.cloud.alloydb_v1beta.types.UserPassword): Input only. Initial user to setup during cluster creation. Required. If used in ``RestoreCluster`` this is ignored. automated_backup_policy (google.cloud.alloydb_v1beta.types.AutomatedBackupPolicy): The automated backup policy for this cluster. + If no policy is provided then the default policy will be used. If backups are supported for the cluster, the default policy takes one backup a @@ -820,11 +828,10 @@ class NetworkConfig(proto.Message): accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: "projects/{project_number}/global/networks/{network_id}". - This is required to create a cluster. It can be updated, but - it cannot be removed. + This is required to create a cluster. allocated_ip_range (str): - Optional. The name of the allocated IP range for the private - IP AlloyDB cluster. For example: + Optional. Name of the allocated IP range for the private IP + AlloyDB cluster, for example: "google-managed-services-default". If set, the instance IPs for this cluster will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name @@ -1096,10 +1103,10 @@ class Instance(proto.Message): application. reconciling (bool): Output only. Reconciling - (https://google.aip.dev/128#reconciliation). - Set to true if the current state of Instance - does not match the user's intended state, and - the service is actively updating the resource to + (https://google.aip.dev/128#reconciliation). Set + to true if the current state of Instance does + not match the user's intended state, and the + service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance. @@ -1117,6 +1124,9 @@ class Instance(proto.Message): non-default update policy, you must specify explicitly specify the value in each update request. + client_connection_config (google.cloud.alloydb_v1beta.types.Instance.ClientConnectionConfig): + Optional. Client connection specific + configurations """ class State(proto.Enum): @@ -1356,6 +1366,29 @@ class Mode(proto.Enum): enum="Instance.UpdatePolicy.Mode", ) + class ClientConnectionConfig(proto.Message): + r"""Client connection configuration + + Attributes: + require_connectors (bool): + Optional. Configuration to enforce connectors + only (ex: AuthProxy) connections to the + database. + ssl_config (google.cloud.alloydb_v1beta.types.SslConfig): + Optional. SSL config option for this + instance. + """ + + require_connectors: bool = proto.Field( + proto.BOOL, + number=1, + ) + ssl_config: "SslConfig" = proto.Field( + proto.MESSAGE, + number=2, + message="SslConfig", + ) + name: str = proto.Field( proto.STRING, number=1, @@ -1459,6 +1492,11 @@ class Mode(proto.Enum): number=22, message=UpdatePolicy, ) + client_connection_config: ClientConnectionConfig = proto.Field( + proto.MESSAGE, + number=23, + message=ClientConnectionConfig, + ) class ConnectionInfo(proto.Message): @@ -1471,9 +1509,10 @@ class ConnectionInfo(proto.Message): projects/{project}/locations/{location}/clusters/\ */instances/*/connectionInfo This field currently has no semantic meaning. ip_address (str): - Output only. The IP address for the Instance. - This is the connection endpoint for an end-user - application. + Output only. The private network IP address for the + Instance. This is the default IP for the instance and is + always created (even if enable_public_ip is set). This is + the connection endpoint for an end-user application. pem_certificate_chain (MutableSequence[str]): Output only. The pem-encoded chain that may be used to verify the X.509 certificate. @@ -1579,6 +1618,17 @@ class Backup(proto.Message): to be garbage collected. It is the duration specified by the backup's retention policy, added to the backup's create_time. + expiry_quantity (google.cloud.alloydb_v1beta.types.Backup.QuantityBasedExpiry): + Output only. The QuantityBasedExpiry of the + backup, specified by the backup's retention + policy. Once the expiry quantity is over + retention, the backup is eligible to be garbage + collected. + database_version (google.cloud.alloydb_v1beta.types.DatabaseVersion): + Output only. The database engine major + version of the cluster this backup was created + from. Any restored cluster created from this + backup will have the same database version. """ class State(proto.Enum): @@ -1625,6 +1675,41 @@ class Type(proto.Enum): AUTOMATED = 2 CONTINUOUS = 3 + class QuantityBasedExpiry(proto.Message): + r"""A backup's position in a quantity-based retention queue, of backups + with the same source cluster and type, with length, retention, + specified by the backup's retention policy. Once the position is + greater than the retention, the backup is eligible to be garbage + collected. + + Example: 5 backups from the same source cluster and type with a + quantity-based retention of 3 and denoted by backup_id (position, + retention). + + Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting + garbage collection: backup_2 (4, 3), backup_1 (5, 3) + + Attributes: + retention_count (int): + Output only. The backup's position among its + backups with the same source cluster and type, + by descending chronological order create + time(i.e. newest first). + total_retention_count (int): + Output only. The length of the quantity-based + queue, specified by the backup's retention + policy. + """ + + retention_count: int = proto.Field( + proto.INT32, + number=1, + ) + total_retention_count: int = proto.Field( + proto.INT32, + number=2, + ) + name: str = proto.Field( proto.STRING, number=1, @@ -1711,6 +1796,16 @@ class Type(proto.Enum): number=19, message=timestamp_pb2.Timestamp, ) + expiry_quantity: QuantityBasedExpiry = proto.Field( + proto.MESSAGE, + number=20, + message=QuantityBasedExpiry, + ) + database_version: "DatabaseVersion" = proto.Field( + proto.ENUM, + number=22, + enum="DatabaseVersion", + ) class SupportedDatabaseFlag(proto.Message): diff --git a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/service.py b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/service.py index 679ac0a34b92..cbb773f518a8 100644 --- a/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/service.py +++ b/packages/google-cloud-alloydb/google/cloud/alloydb_v1beta/types/service.py @@ -198,6 +198,7 @@ class CreateSecondaryClusterRequest(proto.Message): 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 @@ -206,6 +207,7 @@ class CreateSecondaryClusterRequest(proto.Message): 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). @@ -258,6 +260,7 @@ class CreateClusterRequest(proto.Message): 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 @@ -266,6 +269,7 @@ class CreateClusterRequest(proto.Message): 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). @@ -319,6 +323,7 @@ class UpdateClusterRequest(proto.Message): 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 @@ -327,6 +332,7 @@ class UpdateClusterRequest(proto.Message): 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). @@ -380,6 +386,7 @@ class DeleteClusterRequest(proto.Message): 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 @@ -388,6 +395,7 @@ class DeleteClusterRequest(proto.Message): 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). @@ -443,6 +451,7 @@ class PromoteClusterRequest(proto.Message): 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 @@ -451,6 +460,7 @@ class PromoteClusterRequest(proto.Message): 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). @@ -521,6 +531,7 @@ class RestoreClusterRequest(proto.Message): 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 @@ -529,6 +540,7 @@ class RestoreClusterRequest(proto.Message): 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). @@ -696,6 +708,7 @@ class CreateInstanceRequest(proto.Message): 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 @@ -704,6 +717,7 @@ class CreateInstanceRequest(proto.Message): 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). @@ -756,6 +770,7 @@ class CreateSecondaryInstanceRequest(proto.Message): 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 @@ -764,6 +779,7 @@ class CreateSecondaryInstanceRequest(proto.Message): 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). @@ -831,6 +847,7 @@ class BatchCreateInstancesRequest(proto.Message): 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 @@ -839,6 +856,7 @@ class BatchCreateInstancesRequest(proto.Message): 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). @@ -1028,6 +1046,7 @@ class UpdateInstanceRequest(proto.Message): 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 @@ -1036,6 +1055,7 @@ class UpdateInstanceRequest(proto.Message): 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). @@ -1089,6 +1109,7 @@ class DeleteInstanceRequest(proto.Message): 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 @@ -1097,6 +1118,7 @@ class DeleteInstanceRequest(proto.Message): 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). @@ -1145,6 +1167,7 @@ class FailoverInstanceRequest(proto.Message): 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 @@ -1153,6 +1176,7 @@ class FailoverInstanceRequest(proto.Message): 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). @@ -1195,6 +1219,7 @@ class InjectFaultRequest(proto.Message): 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 @@ -1203,6 +1228,7 @@ class InjectFaultRequest(proto.Message): 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). @@ -1260,6 +1286,7 @@ class RestartInstanceRequest(proto.Message): 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 @@ -1268,6 +1295,7 @@ class RestartInstanceRequest(proto.Message): 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). @@ -1396,6 +1424,7 @@ class CreateBackupRequest(proto.Message): 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 @@ -1404,6 +1433,7 @@ class CreateBackupRequest(proto.Message): 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). @@ -1455,6 +1485,7 @@ class UpdateBackupRequest(proto.Message): 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 @@ -1463,6 +1494,7 @@ class UpdateBackupRequest(proto.Message): 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). @@ -1514,6 +1546,7 @@ class DeleteBackupRequest(proto.Message): 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 @@ -1522,6 +1555,7 @@ class DeleteBackupRequest(proto.Message): 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). @@ -1636,6 +1670,7 @@ class GenerateClientCertificateRequest(proto.Message): 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 @@ -1644,6 +1679,7 @@ class GenerateClientCertificateRequest(proto.Message): 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). @@ -1660,6 +1696,11 @@ class GenerateClientCertificateRequest(proto.Message): an appropriate default duration. public_key (str): Optional. The public key from the client. + use_metadata_exchange (bool): + Optional. An optional hint to the endpoint to + generate a client ceritificate that can be used + by AlloyDB connectors to exchange additional + metadata with the server after TLS handshake. """ parent: str = proto.Field( @@ -1683,6 +1724,10 @@ class GenerateClientCertificateRequest(proto.Message): proto.STRING, number=5, ) + use_metadata_exchange: bool = proto.Field( + proto.BOOL, + number=6, + ) class GenerateClientCertificateResponse(proto.Message): @@ -1723,7 +1768,6 @@ class GetConnectionInfoRequest(proto.Message): parent (str): Required. The name of the parent resource. The required format is: - projects/{project}/locations/{location}/clusters/{cluster}/instances/{instance} request_id (str): Optional. An optional request ID to identify @@ -1732,6 +1776,7 @@ class GetConnectionInfoRequest(proto.Message): 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 @@ -1740,6 +1785,7 @@ class GetConnectionInfoRequest(proto.Message): 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). @@ -1937,6 +1983,7 @@ class CreateUserRequest(proto.Message): 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 @@ -1945,6 +1992,7 @@ class CreateUserRequest(proto.Message): 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). @@ -1996,6 +2044,7 @@ class UpdateUserRequest(proto.Message): 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 @@ -2004,6 +2053,7 @@ class UpdateUserRequest(proto.Message): 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). @@ -2054,6 +2104,7 @@ class DeleteUserRequest(proto.Message): 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 @@ -2062,6 +2113,7 @@ class DeleteUserRequest(proto.Message): 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). diff --git a/packages/google-cloud-alloydb/noxfile.py b/packages/google-cloud-alloydb/noxfile.py index 6f5debd52f23..9a2acd8b6787 100644 --- a/packages/google-cloud-alloydb/noxfile.py +++ b/packages/google-cloud-alloydb/noxfile.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright 2018 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1.json b/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1.json index f6ee212ef7f8..425997888ed8 100644 --- a/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1.json +++ b/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-alloydb", - "version": "0.3.0" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1alpha.json b/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1alpha.json index 4e642806d678..53090fc16662 100644 --- a/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1alpha.json +++ b/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1alpha.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-alloydb", - "version": "0.3.0" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1beta.json b/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1beta.json index aaee17ce33ad..aa82cb9c4be0 100644 --- a/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1beta.json +++ b/packages/google-cloud-alloydb/samples/generated_samples/snippet_metadata_google.cloud.alloydb.v1beta.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-alloydb", - "version": "0.3.0" + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-alloydb/scripts/decrypt-secrets.sh b/packages/google-cloud-alloydb/scripts/decrypt-secrets.sh index 21f6d2a26d90..0018b421ddf8 100755 --- a/packages/google-cloud-alloydb/scripts/decrypt-secrets.sh +++ b/packages/google-cloud-alloydb/scripts/decrypt-secrets.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2015 Google Inc. All rights reserved. +# Copyright 2023 Google LLC All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/google-cloud-alloydb/scripts/fixup_alloydb_v1beta_keywords.py b/packages/google-cloud-alloydb/scripts/fixup_alloydb_v1beta_keywords.py index 33cac3e5c880..14b3ca7826ae 100644 --- a/packages/google-cloud-alloydb/scripts/fixup_alloydb_v1beta_keywords.py +++ b/packages/google-cloud-alloydb/scripts/fixup_alloydb_v1beta_keywords.py @@ -51,7 +51,7 @@ class alloydbCallTransformer(cst.CSTTransformer): 'delete_instance': ('name', 'request_id', 'etag', 'validate_only', ), 'delete_user': ('name', 'request_id', 'validate_only', ), 'failover_instance': ('name', 'request_id', 'validate_only', ), - 'generate_client_certificate': ('parent', 'request_id', 'pem_csr', 'cert_duration', 'public_key', ), + 'generate_client_certificate': ('parent', 'request_id', 'pem_csr', 'cert_duration', 'public_key', 'use_metadata_exchange', ), 'get_backup': ('name', ), 'get_cluster': ('name', 'view', ), 'get_connection_info': ('parent', 'request_id', ), diff --git a/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1/test_alloy_db_admin.py b/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1/test_alloy_db_admin.py index 47c3aae1828b..42e409645459 100644 --- a/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1/test_alloy_db_admin.py +++ b/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1/test_alloy_db_admin.py @@ -45,7 +45,7 @@ from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import options_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.oauth2 import service_account from google.protobuf import duration_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore @@ -5741,6 +5741,7 @@ def test_get_backup(request_type, transport: str = "grpc"): reconciling=True, etag="etag_value", size_bytes=1089, + database_version=resources.DatabaseVersion.POSTGRES_13, ) response = client.get_backup(request) @@ -5762,6 +5763,7 @@ def test_get_backup(request_type, transport: str = "grpc"): assert response.reconciling is True assert response.etag == "etag_value" assert response.size_bytes == 1089 + assert response.database_version == resources.DatabaseVersion.POSTGRES_13 def test_get_backup_empty_call(): @@ -5809,6 +5811,7 @@ async def test_get_backup_async( reconciling=True, etag="etag_value", size_bytes=1089, + database_version=resources.DatabaseVersion.POSTGRES_13, ) ) response = await client.get_backup(request) @@ -5831,6 +5834,7 @@ async def test_get_backup_async( assert response.reconciling is True assert response.etag == "etag_value" assert response.size_bytes == 1089 + assert response.database_version == resources.DatabaseVersion.POSTGRES_13 @pytest.mark.asyncio @@ -9179,6 +9183,10 @@ def test_create_cluster_rest(request_type): "state": 1, "cluster_type": 1, "database_version": 1, + "network_config": { + "network": "network_value", + "allocated_ip_range": "allocated_ip_range_value", + }, "network": "network_value", "etag": "etag_value", "annotations": {}, @@ -9452,6 +9460,10 @@ def test_create_cluster_rest_bad_request( "state": 1, "cluster_type": 1, "database_version": 1, + "network_config": { + "network": "network_value", + "allocated_ip_range": "allocated_ip_range_value", + }, "network": "network_value", "etag": "etag_value", "annotations": {}, @@ -9618,6 +9630,10 @@ def test_update_cluster_rest(request_type): "state": 1, "cluster_type": 1, "database_version": 1, + "network_config": { + "network": "network_value", + "allocated_ip_range": "allocated_ip_range_value", + }, "network": "network_value", "etag": "etag_value", "annotations": {}, @@ -9871,6 +9887,10 @@ def test_update_cluster_rest_bad_request( "state": 1, "cluster_type": 1, "database_version": 1, + "network_config": { + "network": "network_value", + "allocated_ip_range": "allocated_ip_range_value", + }, "network": "network_value", "etag": "etag_value", "annotations": {}, @@ -10795,6 +10815,10 @@ def test_create_secondary_cluster_rest(request_type): "state": 1, "cluster_type": 1, "database_version": 1, + "network_config": { + "network": "network_value", + "allocated_ip_range": "allocated_ip_range_value", + }, "network": "network_value", "etag": "etag_value", "annotations": {}, @@ -11072,6 +11096,10 @@ def test_create_secondary_cluster_rest_bad_request( "state": 1, "cluster_type": 1, "database_version": 1, + "network_config": { + "network": "network_value", + "allocated_ip_range": "allocated_ip_range_value", + }, "network": "network_value", "etag": "etag_value", "annotations": {}, @@ -11881,6 +11909,10 @@ def test_create_instance_rest(request_type): "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -12122,6 +12154,10 @@ def test_create_instance_rest_bad_request( "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -12251,6 +12287,10 @@ def test_create_secondary_instance_rest(request_type): "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -12494,6 +12534,10 @@ def test_create_secondary_instance_rest_bad_request( "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -12628,6 +12672,10 @@ def test_batch_create_instances_rest(request_type): "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, }, "request_id": "request_id_value", "validate_only": True, @@ -12855,6 +12903,10 @@ def test_batch_create_instances_rest_bad_request( "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, }, "request_id": "request_id_value", "validate_only": True, @@ -12932,6 +12984,10 @@ def test_update_instance_rest(request_type): "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -13155,6 +13211,10 @@ def test_update_instance_rest_bad_request( "reconciling": True, "etag": "etag_value", "annotations": {}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -14706,6 +14766,7 @@ def test_get_backup_rest(request_type): reconciling=True, etag="etag_value", size_bytes=1089, + database_version=resources.DatabaseVersion.POSTGRES_13, ) # Wrap the value into a proper Response obj @@ -14731,6 +14792,7 @@ def test_get_backup_rest(request_type): assert response.reconciling is True assert response.etag == "etag_value" assert response.size_bytes == 1089 + assert response.database_version == resources.DatabaseVersion.POSTGRES_13 def test_get_backup_rest_required_fields(request_type=service.GetBackupRequest): @@ -14993,6 +15055,8 @@ def test_create_backup_rest(request_type): "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) @@ -15223,6 +15287,8 @@ def test_create_backup_rest_bad_request( "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) @@ -15342,6 +15408,8 @@ def test_update_backup_rest(request_type): "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) @@ -15552,6 +15620,8 @@ def test_update_backup_rest_bad_request( "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) diff --git a/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1alpha/test_alloy_db_admin.py b/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1alpha/test_alloy_db_admin.py index 496695f7fb36..fc008d94bc7f 100644 --- a/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1alpha/test_alloy_db_admin.py +++ b/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1alpha/test_alloy_db_admin.py @@ -45,7 +45,7 @@ from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import options_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.oauth2 import service_account from google.protobuf import duration_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore diff --git a/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1beta/test_alloy_db_admin.py b/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1beta/test_alloy_db_admin.py index 1da52ef851d0..80a208a78efe 100644 --- a/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1beta/test_alloy_db_admin.py +++ b/packages/google-cloud-alloydb/tests/unit/gapic/alloydb_v1beta/test_alloy_db_admin.py @@ -45,7 +45,7 @@ from google.iam.v1 import iam_policy_pb2 # type: ignore from google.iam.v1 import options_pb2 # type: ignore from google.iam.v1 import policy_pb2 # type: ignore -from google.longrunning import operations_pb2 +from google.longrunning import operations_pb2 # type: ignore from google.oauth2 import service_account from google.protobuf import duration_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore @@ -5741,6 +5741,7 @@ def test_get_backup(request_type, transport: str = "grpc"): reconciling=True, etag="etag_value", size_bytes=1089, + database_version=resources.DatabaseVersion.POSTGRES_13, ) response = client.get_backup(request) @@ -5762,6 +5763,7 @@ def test_get_backup(request_type, transport: str = "grpc"): assert response.reconciling is True assert response.etag == "etag_value" assert response.size_bytes == 1089 + assert response.database_version == resources.DatabaseVersion.POSTGRES_13 def test_get_backup_empty_call(): @@ -5809,6 +5811,7 @@ async def test_get_backup_async( reconciling=True, etag="etag_value", size_bytes=1089, + database_version=resources.DatabaseVersion.POSTGRES_13, ) ) response = await client.get_backup(request) @@ -5831,6 +5834,7 @@ async def test_get_backup_async( assert response.reconciling is True assert response.etag == "etag_value" assert response.size_bytes == 1089 + assert response.database_version == resources.DatabaseVersion.POSTGRES_13 @pytest.mark.asyncio @@ -12423,6 +12427,10 @@ def test_create_instance_rest(request_type): "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -12665,6 +12673,10 @@ def test_create_instance_rest_bad_request( "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -12795,6 +12807,10 @@ def test_create_secondary_instance_rest(request_type): "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -13039,6 +13055,10 @@ def test_create_secondary_instance_rest_bad_request( "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -13174,6 +13194,10 @@ def test_batch_create_instances_rest(request_type): "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, }, "request_id": "request_id_value", "validate_only": True, @@ -13402,6 +13426,10 @@ def test_batch_create_instances_rest_bad_request( "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, }, "request_id": "request_id_value", "validate_only": True, @@ -13480,6 +13508,10 @@ def test_update_instance_rest(request_type): "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -13704,6 +13736,10 @@ def test_update_instance_rest_bad_request( "etag": "etag_value", "annotations": {}, "update_policy": {"mode": 1}, + "client_connection_config": { + "require_connectors": True, + "ssl_config": {"ssl_mode": 1, "ca_source": 1}, + }, } request = request_type(**request_init) @@ -15256,6 +15292,7 @@ def test_get_backup_rest(request_type): reconciling=True, etag="etag_value", size_bytes=1089, + database_version=resources.DatabaseVersion.POSTGRES_13, ) # Wrap the value into a proper Response obj @@ -15281,6 +15318,7 @@ def test_get_backup_rest(request_type): assert response.reconciling is True assert response.etag == "etag_value" assert response.size_bytes == 1089 + assert response.database_version == resources.DatabaseVersion.POSTGRES_13 def test_get_backup_rest_required_fields(request_type=service.GetBackupRequest): @@ -15544,6 +15582,8 @@ def test_create_backup_rest(request_type): "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) @@ -15774,6 +15814,8 @@ def test_create_backup_rest_bad_request( "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) @@ -15894,6 +15936,8 @@ def test_update_backup_rest(request_type): "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init) @@ -16104,6 +16148,8 @@ def test_update_backup_rest_bad_request( "annotations": {}, "size_bytes": 1089, "expiry_time": {}, + "expiry_quantity": {"retention_count": 1632, "total_retention_count": 2275}, + "database_version": 1, } request = request_type(**request_init)